SaltStack中的檔案伺服器
參考連結: 原文Salt File Server, 官網文件cp模組
在配置管理系統中,從中心伺服器想客戶端推送檔案是很基本的需求。SaltStack
使用內建的ZeroMQ
伺服器做為檔案伺服器。
檔案伺服器主要用來在state
系統中推送檔案到客戶端,也可以用於其他檔案的傳輸。
cp模組
客戶端對檔案伺服器的操作都在cp
模組中。Salt Stat
e系統,Salt-cp
都用到了cp
模組。
環境
因為檔案伺服器是為Salt state
系統服務,所以也支援環境的概念。master
的配置檔案中定義各環境的路徑,檔案的路徑基於指定環境的根目錄(參見下面的例子)。
常見用法
get_file
cp.get_file
用來從master
下載檔案到客戶端,語法如下:
# salt '*' cp.get_file salt://vimrc /etc/vimrc
其中vimrc
在master
上的實際路徑要看環境中定義的根目錄,假設在master
中有如下定義:
file_roots:
base:
- /srv/salt/
那麼vimrc
的實際路徑就是/srv/salt/vimrc
,這樣做的好處是,可以滿足state
系統中環境的概念。
源路徑和目標路徑中都可以使用模板,如下:
# salt '*' cp.get_file "salt://{{grains.os}}/vimrc" /etc/vimrc template=jinja
這個例子中,將下載與客戶端作業系統名字相同的目錄下的檔案。
對於大檔案,cp.get_file
支援gzip
壓縮,在引數中指定gzip
的壓縮級別,如下:
# salt '*' cp.get_file salt://vimrc /etc/vimrc gzip=5
其中,1代表作小壓縮,9代表最大壓縮。
cp.get_file
預設不在客戶端上建立目錄,如果客戶端上沒有這個目錄了,檔案拷貝將失敗,可以指定makedirs=True
來建立目錄:
# salt '*' cp.get_file salt://vimrc /etc/vim/vimrc makedirs=True
在這個例子中,如果``/etc/vim不存在,將會建立此目錄。
get_dir
cp.get_dir
可以從master
下載整個目錄,語法如下:
# salt '*' cp.get_dir salt://etc/apache2 /etc
cp.get_dir
也支援模板和壓縮:
# salt '*' cp.get_dir salt://etc/{{pillar.webserver}} /etc gzip=5 template=jinja
get_url
cp.get_url
可以從一個URL地址下載檔案,URL可以是msater
上的路徑(salt://
),也可以是http網址。
salt '*' cp.get_url salt://my/file /tmp/mine
salt '*' cp.get_url http://www.slashdot.org /tmp/index.html
get_template
cp.get_template
可以在檔案下載之前用模板引擎處理。
salt '*' cp.get_template salt://path/to/template /minion/dest
push
cp.push
可以從客戶端傳檔案到master
上,處於很明顯的安全考慮,預設沒有啟用此功能,如果你需要的話可以參考文件,很方便的開啟。
相關文章
- saltstack/saltmaster配置檔案說明(二)AST
- 通過 SaltStack 管理伺服器配置伺服器
- Saltstack系列5:Saltstack之pillar元件元件
- saltstack的架構架構
- oracle中的 RESIZE檔案or ADD檔案Oracle
- IIS搭建的http檔案伺服器HTTP伺服器
- 7、共享模式的檔案伺服器模式伺服器
- Saltstack系列2:Saltstack遠端執行命令
- Saltstack系列4:Saltstack之Grains元件AI元件
- JSP中的TAG檔案和TLD檔案JS
- Laravel 中的配置檔案Laravel
- oracle中的檔案操作Oracle
- CentOS6/7 使用saltstack源安裝saltstackCentOS
- 檔案伺服器 — File Browser伺服器
- samba伺服器配置檔案Samba伺服器
- nginx搭建檔案伺服器Nginx伺服器
- html檔案中包含其他檔案的方法大全HTML
- Linux伺服器上傳檔案傳送檔案Linux伺服器
- FileZilla 向伺服器傳檔案或下載檔案伺服器
- saltstack常用模組
- SaltStack實戰
- saltstack之nginx、php的配置NginxPHP
- 檔案伺服器之一:NFS伺服器伺服器NFS
- 中轉檔案
- 將framework檔案放在一個單獨的檔案中Framework
- 如何在“我的所有檔案”中隱藏某些檔案?
- SQL Server 2005中的檔案和檔案組SQLServer
- Laravel 中的檔案上傳Laravel
- 訪問ASM中的檔案ASM
- java 中的檔案型別Java型別
- rac中的密碼檔案密碼
- UNIX 中的檔案切割(轉)
- 遍歷檔案Java中遍歷出指定目錄中的所有檔案Java
- maven中的profile檔案的解析Maven
- 伺服器端uwsgi配置檔案伺服器
- 伺服器上下載檔案FTP伺服器FTP
- curl 跨伺服器同步檔案伺服器
- nginx實現檔案伺服器Nginx伺服器