cl_303303303 发表于 2018-8-1 10:56:31

saltstack同步文件--saltstack cp.get_file(三)

  一、知识点:
  cp.get_file功能可以用于minion从master下载一个文件,该语法像这样:
# salt '*' cp.get_file salt://vimrc /etc/vimrc  该指令将会通知所有Salt minions下载vimrc文件并且拷贝到/etc/vimrc
  模板渲染功能可以同时在源和目标文件启用,命名像这样:
# salt '*' cp.get_file "salt://`grains`.`os`/vimrc" /etc/vimrc template=jinja  该范例将会通知所有Salt minions下载vimrc从同名目录名下载,作为他们的OS grain并且拷贝到/etc/vimrc
# salt '*' cp.get_file salt://vimrc /etc/vimrc gzip=5# salt '*' cp.get_file salt://vimrc /etc/vim/vimrc makedirs=True  使用makedirs=True参数,如果/etc/vim不存在,则被创建。
  详细内容请参考:http://docs.saltstack.cn/ref/file_server/index.html
  二、实例:
  默认salt的仓库目录在/srv/salt,如果没有,请创建该目录
  以同步nginx配置文件test.conf为例,创建nginx配置文件目录:
# cd /srv/salt  
# mkdir nginx_conf
  
# vim test.conf
  
#内容就不贴了,没意义,看下MD5值吧:
  
# md5sum test.conf
  
a1df167be67a7a22ad8d9faf0472f82btest.conf
  在统一之前,我们先把之前的都做一个备份,养成一个好习惯:
# salt -N web1 cmd.run 'cp /usr/local/nginx/conf/vhosts/test.conf /usr/local/nginx/conf/vhosts/test.conf.bak'  同步前,查看下各个服务器上的配置的md5值:
# salt -N web1 cmd.run 'md5sum /usr/local/nginx/conf/vhosts/test.conf'  
web103:
  
    6550b62b0f4a86c8f907e196fc6113fc/usr/local/nginx/conf/vhosts/test.conf
  
web104:
  
    85b265141da4013e9ce722b72a0d5471/usr/local/nginx/conf/vhosts/test.conf
  
web202:
  
    f3840e999a0c9f1d8486feaf5984a7ea/usr/local/nginx/conf/vhosts/test.conf
  
web201:
  
    f3840e999a0c9f1d8486feaf5984a7ea/usr/local/nginx/conf/vhosts/test.conf
  同步配置文件:
# salt -N web1 cp.get_file salt://nginx_conf/test.conf /usr/local/nginx/conf/vhosts/test.conf  
web201:
  
    /usr/local/nginx/conf/vhosts/test.conf
  
web103:
  
    /usr/local/nginx/conf/vhosts/test.conf
  
web202:
  
    /usr/local/nginx/conf/vhosts/test.conf
  
web104:
  
    /usr/local/nginx/conf/vhosts/test.conf
  查看下同步后的文件MD5值:
# salt -N web1 cmd.run 'md5sum /usr/local/nginx/conf/vhosts/test.conf'  
web104:
  
    a1df167be67a7a22ad8d9faf0472f82b/usr/local/nginx/conf/vhosts/test.conf
  
web202:
  
    a1df167be67a7a22ad8d9faf0472f82b/usr/local/nginx/conf/vhosts/test.conf
  
web201:
  
    a1df167be67a7a22ad8d9faf0472f82b/usr/local/nginx/conf/vhosts/test.conf
  
web103:
  
    a1df167be67a7a22ad8d9faf0472f82b/usr/local/nginx/conf/vhosts/test.conf
  重启下nginx服务:
# salt -N web1 cmd.run 'kill -HUP `cat /usr/local/nginx/logs/nginx.pid`'  
web104:
  

  
web103:
  

  
web202:
  

  
web201:
页: [1]
查看完整版本: saltstack同步文件--saltstack cp.get_file(三)