天天看點

saltstack cp子產品使用

cp子產品

在配置管理系統中,從中心伺服器向用戶端推送檔案是很基本的需求。SaltStack使用内建的ZeroMQ伺服器做為檔案伺服器。 檔案伺服器主要用來在state系統中推送檔案到用戶端,也可以用于其他檔案的傳輸。

用戶端對檔案伺服器的操作都在cp子產品中。Salt State系統,

也可使用Salt-cp代替

基本解釋:

salt根目錄:在master中 file_roots 定義的路徑

例如:假設在master中有如下定義:

file_roots:

base:

  • /srv/salt/

    那麼:salt://vimrc指的實際路徑是:/srv/salt/vimrc,這樣做的好處是,可以滿足state系統中環境的概念。

常見用法:

get_file:

master下載下傳檔案到用戶端:

salt ‘*’ cp.get_file salt://vimrc /etc/vimrc

salt ‘*’ cp.get_file “salt://`grains`.`os`/vimrc” /etc/vimrc template=jinja   使用模闆

salt ‘*’ cp.get_file salt://vimrc /etc/vimrc gzip=5 壓縮:其中,1代表作小壓縮,9代表最大壓縮。

salt ‘*’ cp.get_file salt://vimrc /etc/vim/vimrc makedirs=True 如果目錄不在,則建立目錄

注意:cp.get_file預設不在用戶端上建立目錄,如果用戶端上沒有這個目錄,且未指定makedirs=True,檔案拷貝将失敗。

get_dir

從master下載下傳整個目錄:

salt ‘*’ cp.get_dir salt://etc/apache2 /etc

salt ‘*’ cp.get_dir salt://etc/`pillar`.`webserver` /etc gzip=5 template=jinja 也支援模闆和壓縮

get_url

get_template

push

其他&例子:

1.        salt '*' cp.cache_dir salt://path/to/dir
2.        salt '*' cp.cache_dir salt://path/to/dir include_pat='E@*.py$'
3.        salt '*' cp.cache_file salt://path/to/file
4.        salt '*' cp.cache_files salt://pathto/file1,salt://pathto/file1
5.        salt '*' cp.cache_local_file /etc/hosts
6.        salt '*' cp.cache_master
7.        salt '*' cp.get_dir salt://path/to/dir/ /minion/dest
8.        salt '*' cp.get_file salt://path/to/file /minion/dest
9.        salt '*' cp.get_file "salt://`grains`.`os`/vimrc" /etc/vimrc template=jinja
10.        salt '*' cp.get_file_str salt://my/file
11.        salt '*' cp.get_template salt://path/to/template /minion/dest
12.        salt '*' cp.get_url salt://my/file /tmp/mine
13.        salt '*' cp.get_url http://www.slashdot.org /tmp/index.html
14.        salt '*' cp.hash_file salt://path/to/file
15.        salt '*' cp.is_cached salt://path/to/file
16.        salt '*' cp.list_master
17.        salt '*' cp.list_master_dirs
18.        salt '*' cp.list_master_symlinks
19.        salt '*' cp.list_minion
20.        salt '*' cp.list_states
21.        salt '*' cp.push /etc/fstab
22.        salt '*' cp.push /etc/system-release keep_symlinks=True
23.        salt '*' cp.push /usr/lib/mysql
24.        salt '*' cp.push_dir /etc/modprobe.d/ glob='*.conf'
           

繼續閱讀