saltstack模塊

1、cmd模塊,實現遠程命令行調用執行(默認root權限操作,操作需謹慎)

# salt operation cmd.run "uptime"
operation:
     13:46:57 up 32 min,  1 user,  load average: 0.07, 0.05, 0.07



2、cp模塊,實現遠程文件、目錄複製分發,以及下載URL等操作


將master上的文件、目錄複製到minion被控主機。

a、get_file:salt.modules.cp.get_file(path, dest, saltenv='base', makedirs=False, template=None, gzip=None, **kwargs)

path:master需要分發文件路徑
dest:目標minion存放路徑和文件名
saltenv:master定義的環境名稱
makedirs:目標minion如果路徑目錄不存在,是否創建目錄。

# salt operation  cp.get_file salt://test.py /tmp1/tmp/test1.py saltenv='cmdb' makedirs=True
operation:
    /tmp1/tmp/test1.py


b、get_dir: salt.modules.cp.get_dir(path, dest, saltenv='base', template=None, gzip=None, **kwargs)

# salt operation cp.get_dir salt://upload /tmp1/tmp saltenv='cmdb' 
operation:
    - /tmp1/tmp/upload/crontab.txt
    - /tmp1/tmp/upload/python_test.txt


將master上的文件、目錄複製到minion的cache目錄。

c、cache_dir :salt.modules.cp.cache_dir(path, saltenv='base', include_empty=False, include_pat=None, exclude_pat=None)

# salt \* cp.cache_dir salt://user
slave01:
    - /var/cache/salt/minion/files/base/user/adduser.sls
operation:
    - /var/cache/salt/minion/files/base/user/adduser.sls


d、cache_file:salt.modules.cp.cache_file(path, saltenv='base')

# salt \* cp.cache_file salt://resin/init.sls
slave01:
    /var/cache/salt/minion/files/base/resin/init.sls
operation:
    /var/cache/salt/minion/files/base/resin/init.sls


f、cache_local_file

將目標minion主機的文件或目錄收集到master的cache目錄下不能執行多臺minion,否則同步過來的數據是最後執行的minion主機

# salt operation cp.cache_local_file /etc/hosts
operation:
    /var/cache/salt/minion/localfiles/etc/hosts

3、svn模塊

salt 'operation' svn.checkout /data/  svn://192.168.62.110 /data/svndata/  mysql kbson kbsonlong

主機名:operation

svn倉庫:svn://192.168.62.110

文件存放路徑/data/svndata/

導出後文件的所屬用戶:mysql

svn賬戶:kbson 

svn密碼:kbsonlong


# salt 'operation' svn.checkout /data/  svn://192.168.62.110 /data/svndata/  mysql kbson kbsonlong
operation:
    A    /data/svndata/hooks
    A    /data/svndata/hooks/pre-revprop-change.tmpl
    A    /data/svndata/hooks/post-commit.tmpl
    A    /data/svndata/hooks/post-lock.tmpl
    A    /data/svndata/hooks/pre-commit.tmpl
    A    /data/svndata/hooks/pre-lock.tmpl
    A    /data/svndata/hooks/post-unlock.tmpl
    A    /data/svndata/hooks/pre-unlock.tmpl
    A    /data/svndata/hooks/post-revprop-change.tmpl
    A    /data/svndata/hooks/start-commit.tmpl
    A    /data/svndata/conf
    A    /data/svndata/conf/svnserve.conf
    A    /data/svndata/conf/passwd
    A    /data/svndata/conf/authz
    A    /data/svndata/db
    A    /data/svndata/db/revs
    A    /data/svndata/db/revs/0
    A    /data/svndata/db/revs/0/0
    A    /data/svndata/db/txn-current-lock
    A    /data/svndata/db/revprops
    A    /data/svndata/db/revprops/0
    A    /data/svndata/db/revprops/0/0
    A    /data/svndata/db/write-lock
    A    /data/svndata/db/current
    A    /data/svndata/db/fsfs.conf
    A    /data/svndata/db/min-unpacked-rev
    A    /data/svndata/db/uuid
    A    /data/svndata/db/fs-type
    A    /data/svndata/db/format
    A    /data/svndata/db/transactions
    A    /data/svndata/db/transactions/0-0.txn
    A    /data/svndata/db/transactions/0-0.txn/node._1b.0
    A    /data/svndata/db/transactions/0-0.txn/node._1d.0
    A    /data/svndata/db/transactions/0-0.txn/node._1e.0
    A    /data/svndata/db/transactions/0-0.txn/next-ids
    A    /data/svndata/db/transactions/0-0.txn/node._b.0
    A    /data/svndata/db/transactions/0-0.txn/node._11.0
    A    /data/svndata/db/transactions/0-0.txn/node._l.0.children
    A    /data/svndata/db/transactions/0-0.txn/node._d.0
    A    /data/svndata/db/transactions/0-0.txn/node._13.0
    A    /data/svndata/db/transactions/0-0.txn/node._f.0
    A    /data/svndata/db/transactions/0-0.txn/node._15.0
    A    /data/svndata/db/transactions/0-0.txn/node._0.0.children
    A    /data/svndata/db/transactions/0-0.txn/node._h.0
    A    /data/svndata/db/transactions/0-0.txn/node._17.0
    A    /data/svndata/db/transactions/0-0.txn/node._j.0
    A    /data/svndata/db/transactions/0-0.txn/node._19.0
    A    /data/svndata/db/transactions/0-0.txn/node._1d.0.children
    A    /data/svndata/db/transactions/0-0.txn/node._l.0
    A    /data/svndata/db/transactions/0-0.txn/node._v.0.children
    A    /data/svndata/db/transactions/0-0.txn/node._m.0
    A    /data/svndata/db/transactions/0-0.txn/node._o.0
    A    /data/svndata/db/transactions/0-0.txn/node._0.0
    A    /data/svndata/db/transactions/0-0.txn/node.0.0
    A    /data/svndata/db/transactions/0-0.txn/node._q.0
    A    /data/svndata/db/transactions/0-0.txn/node._2.0
    A    /data/svndata/db/transactions/0-0.txn/node._t.0
    A    /data/svndata/db/transactions/0-0.txn/node._5.0
    A    /data/svndata/db/transactions/0-0.txn/node._v.0
    A    /data/svndata/db/transactions/0-0.txn/node._w.0
    A    /data/svndata/db/transactions/0-0.txn/node._7.0
    A    /data/svndata/db/transactions/0-0.txn/node._y.0
    A    /data/svndata/db/transactions/0-0.txn/node._9.0
    A    /data/svndata/db/transactions/0-0.txn/props
    A    /data/svndata/db/transactions/0-0.txn/node._m.0.children
    A    /data/svndata/db/transactions/0-0.txn/node._o.0.children
    A    /data/svndata/db/transactions/0-0.txn/changes
    A    /data/svndata/db/transactions/0-0.txn/node.0.0.children
    A    /data/svndata/db/transactions/0-0.txn/node._w.0.children
    A    /data/svndata/db/txn-current
    A    /data/svndata/db/txn-protorevs
    A    /data/svndata/db/txn-protorevs/0-0.rev
    A    /data/svndata/db/txn-protorevs/0-0.rev-lock
    A    /data/svndata/db/rep-cache.db
    A    /data/svndata/format
    A    /data/svndata/README.txt
    A    /data/svndata/locks
    A    /data/svndata/locks/db.lock
    A    /data/svndata/locks/db-logs.lock
    Checked out revision 1.


svn新增

# salt operation svn.add /data/svndata/ /data/svndata/1.txt 
operation:
    A         /data/svndata/1.txt


svn提交

# salt operation svn.commit / /data/svndata/ '1.txt' mysql kbson kbsonlong
operation:
    Adding         data/svndata/1.txt
    Transmitting file data .
    Committed revision 2.

版本號改變爲2


在/tmp/test目錄導出一份,看是否提交成功,

# salt 'operation' svn.checkout /  svn://192.168.62.110 /tmp/test  mysql kbson kbsonlong
operation:
    A    /tmp/test/hooks
    A    /tmp/test/hooks/pre-revprop-change.tmpl
    A    /tmp/test/hooks/post-commit.tmpl
    A    /tmp/test/hooks/post-lock.tmpl
    A    /tmp/test/hooks/pre-commit.tmpl
    A    /tmp/test/hooks/pre-lock.tmpl
    A    /tmp/test/hooks/post-unlock.tmpl
    A    /tmp/test/hooks/pre-unlock.tmpl
    A    /tmp/test/hooks/post-revprop-change.tmpl
    A    /tmp/test/hooks/start-commit.tmpl
    A    /tmp/test/conf
    A    /tmp/test/conf/svnserve.conf
    A    /tmp/test/conf/passwd
    A    /tmp/test/conf/authz
    A    /tmp/test/db
    A    /tmp/test/db/revs
    A    /tmp/test/db/revs/0
    A    /tmp/test/db/revs/0/0
    A    /tmp/test/db/txn-current-lock
    A    /tmp/test/db/revprops
    A    /tmp/test/db/revprops/0
    A    /tmp/test/db/revprops/0/0
    A    /tmp/test/db/write-lock
    A    /tmp/test/db/current
    A    /tmp/test/db/fsfs.conf
    A    /tmp/test/db/min-unpacked-rev
    A    /tmp/test/db/uuid
    A    /tmp/test/db/fs-type
    A    /tmp/test/db/format
    A    /tmp/test/db/transactions
    A    /tmp/test/db/transactions/0-0.txn
    A    /tmp/test/db/transactions/0-0.txn/node._1b.0
    A    /tmp/test/db/transactions/0-0.txn/node._1d.0
    A    /tmp/test/db/transactions/0-0.txn/node._1e.0
    A    /tmp/test/db/transactions/0-0.txn/next-ids
    A    /tmp/test/db/transactions/0-0.txn/node._b.0
    A    /tmp/test/db/transactions/0-0.txn/node._11.0
    A    /tmp/test/db/transactions/0-0.txn/node._l.0.children
    A    /tmp/test/db/transactions/0-0.txn/node._d.0
    A    /tmp/test/db/transactions/0-0.txn/node._13.0
    A    /tmp/test/db/transactions/0-0.txn/node._f.0
    A    /tmp/test/db/transactions/0-0.txn/node._15.0
    A    /tmp/test/db/transactions/0-0.txn/node._0.0.children
    A    /tmp/test/db/transactions/0-0.txn/node._h.0
    A    /tmp/test/db/transactions/0-0.txn/node._17.0
    A    /tmp/test/db/transactions/0-0.txn/node._j.0
    A    /tmp/test/db/transactions/0-0.txn/node._19.0
    A    /tmp/test/db/transactions/0-0.txn/node._1d.0.children
    A    /tmp/test/db/transactions/0-0.txn/node._l.0
    A    /tmp/test/db/transactions/0-0.txn/node._v.0.children
    A    /tmp/test/db/transactions/0-0.txn/node._m.0
    A    /tmp/test/db/transactions/0-0.txn/node._o.0
    A    /tmp/test/db/transactions/0-0.txn/node._0.0
    A    /tmp/test/db/transactions/0-0.txn/node.0.0
    A    /tmp/test/db/transactions/0-0.txn/node._q.0
    A    /tmp/test/db/transactions/0-0.txn/node._2.0
    A    /tmp/test/db/transactions/0-0.txn/node._t.0
    A    /tmp/test/db/transactions/0-0.txn/node._5.0
    A    /tmp/test/db/transactions/0-0.txn/node._v.0
    A    /tmp/test/db/transactions/0-0.txn/node._w.0
    A    /tmp/test/db/transactions/0-0.txn/node._7.0
    A    /tmp/test/db/transactions/0-0.txn/node._y.0
    A    /tmp/test/db/transactions/0-0.txn/node._9.0
    A    /tmp/test/db/transactions/0-0.txn/props
    A    /tmp/test/db/transactions/0-0.txn/node._m.0.children
    A    /tmp/test/db/transactions/0-0.txn/node._o.0.children
    A    /tmp/test/db/transactions/0-0.txn/changes
    A    /tmp/test/db/transactions/0-0.txn/node.0.0.children
    A    /tmp/test/db/transactions/0-0.txn/node._w.0.children
    A    /tmp/test/db/txn-current
    A    /tmp/test/db/txn-protorevs
    A    /tmp/test/db/txn-protorevs/0-0.rev
    A    /tmp/test/db/txn-protorevs/0-0.rev-lock
    A    /tmp/test/db/rep-cache.db
    A    /tmp/test/format
    A    /tmp/test/README.txt
    A    /tmp/test/locks
    A    /tmp/test/locks/db.lock
    A    /tmp/test/locks/db-logs.lock
    A    /tmp/test/1.txt
    Checked out revision 2.
可以看到1.txt文件已經提交到svn倉庫;


修改文件再次提交
echo "Hello world" >>1.txt


# salt operation svn.commit / /data/svndata/ '1.txt' mysql kbson kbsonlong
operation:
    Sending        data/svndata/1.txt
    Transmitting file data .
    Committed revision 3.
版本號改變爲3


客戶端更新/tmp/test,可以看到1.txt文件修改內容提交成功

# salt operation svn.update / /tmp/test/ mysql kbson kbsonlong
operation:
    U    /tmp/test/1.txt
    Updated to revision 3.
[root@operation ~]# cat /tmp/test/1.txt 
Hello world!
[root@operation ~]# 



客戶端導出指定版本

# salt operation svn.export /  svn://192.168.62.110 /tmp/export/ mysql kbson kbsonlong 1
operation:
    A    /tmp/export
    A    /tmp/export/hooks
    A    /tmp/export/hooks/pre-revprop-change.tmpl
    A    /tmp/export/hooks/post-commit.tmpl
    A    /tmp/export/hooks/post-lock.tmpl
    A    /tmp/export/hooks/pre-commit.tmpl
    A    /tmp/export/hooks/pre-lock.tmpl
    A    /tmp/export/hooks/post-unlock.tmpl
    A    /tmp/export/hooks/pre-unlock.tmpl
    A    /tmp/export/hooks/post-revprop-change.tmpl
    A    /tmp/export/hooks/start-commit.tmpl
    A    /tmp/export/conf
    A    /tmp/export/conf/svnserve.conf
    A    /tmp/export/conf/passwd
    A    /tmp/export/conf/authz
    A    /tmp/export/db
    A    /tmp/export/db/revs
    A    /tmp/export/db/revs/0
    A    /tmp/export/db/revs/0/0
    A    /tmp/export/db/txn-current-lock
    A    /tmp/export/db/revprops
    A    /tmp/export/db/revprops/0
    A    /tmp/export/db/revprops/0/0
    A    /tmp/export/db/write-lock
    A    /tmp/export/db/current
    A    /tmp/export/db/fsfs.conf
    A    /tmp/export/db/min-unpacked-rev
    A    /tmp/export/db/uuid
    A    /tmp/export/db/fs-type
    A    /tmp/export/db/format
    A    /tmp/export/db/transactions
    A    /tmp/export/db/transactions/0-0.txn
    A    /tmp/export/db/transactions/0-0.txn/node._1b.0
    A    /tmp/export/db/transactions/0-0.txn/node._1d.0
    A    /tmp/export/db/transactions/0-0.txn/node._1e.0
    A    /tmp/export/db/transactions/0-0.txn/next-ids
    A    /tmp/export/db/transactions/0-0.txn/node._b.0
    A    /tmp/export/db/transactions/0-0.txn/node._11.0
    A    /tmp/export/db/transactions/0-0.txn/node._l.0.children
    A    /tmp/export/db/transactions/0-0.txn/node._d.0
    A    /tmp/export/db/transactions/0-0.txn/node._13.0
    A    /tmp/export/db/transactions/0-0.txn/node._f.0
    A    /tmp/export/db/transactions/0-0.txn/node._15.0
    A    /tmp/export/db/transactions/0-0.txn/node._0.0.children
    A    /tmp/export/db/transactions/0-0.txn/node._h.0
    A    /tmp/export/db/transactions/0-0.txn/node._17.0
    A    /tmp/export/db/transactions/0-0.txn/node._j.0
    A    /tmp/export/db/transactions/0-0.txn/node._19.0
    A    /tmp/export/db/transactions/0-0.txn/node._1d.0.children
    A    /tmp/export/db/transactions/0-0.txn/node._l.0
    A    /tmp/export/db/transactions/0-0.txn/node._v.0.children
    A    /tmp/export/db/transactions/0-0.txn/node._m.0
    A    /tmp/export/db/transactions/0-0.txn/node._o.0
    A    /tmp/export/db/transactions/0-0.txn/node._0.0
    A    /tmp/export/db/transactions/0-0.txn/node.0.0
    A    /tmp/export/db/transactions/0-0.txn/node._q.0
    A    /tmp/export/db/transactions/0-0.txn/node._2.0
    A    /tmp/export/db/transactions/0-0.txn/node._t.0
    A    /tmp/export/db/transactions/0-0.txn/node._5.0
    A    /tmp/export/db/transactions/0-0.txn/node._v.0
    A    /tmp/export/db/transactions/0-0.txn/node._w.0
    A    /tmp/export/db/transactions/0-0.txn/node._7.0
    A    /tmp/export/db/transactions/0-0.txn/node._y.0
    A    /tmp/export/db/transactions/0-0.txn/node._9.0
    A    /tmp/export/db/transactions/0-0.txn/props
    A    /tmp/export/db/transactions/0-0.txn/node._m.0.children
    A    /tmp/export/db/transactions/0-0.txn/node._o.0.children
    A    /tmp/export/db/transactions/0-0.txn/changes
    A    /tmp/export/db/transactions/0-0.txn/node.0.0.children
    A    /tmp/export/db/transactions/0-0.txn/node._w.0.children
    A    /tmp/export/db/txn-current
    A    /tmp/export/db/txn-protorevs
    A    /tmp/export/db/txn-protorevs/0-0.rev
    A    /tmp/export/db/txn-protorevs/0-0.rev-lock
    A    /tmp/export/db/rep-cache.db
    A    /tmp/export/format
    A    /tmp/export/README.txt
    A    /tmp/export/locks
    A    /tmp/export/locks/db.lock
    A    /tmp/export/locks/db-logs.lock
    Exported revision 1.
可以看到導出版本爲 1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章