salt '*' cron.rm_job root /export/scripts/rm_log.sh (删除定时任务,写全没效果)
5.dnsutil模块
salt '*' dnsutil.hosts_append /etc/hosts 127.0.0.1 xiang.com
salt '*' dnsutil.hosts_remove /etc/hosts xiang.com
6.file模块:
salt '*' file.chown /etc/passwd root root
salt '*' file.copy /path/to/src /path/to/dst
salt '*' file.file_exists /etc/hosts
salt '*' file.directory_exists /etc/
salt '*' file.get_mod /etc/passwd
salt '*' file.set_mod /etc/passwd 0644
salt '*' file.mkdir /tmp/test
salt '*' file.sed /export/servers/nginx/conf/nginx.conf 'debug' 'warn'
salt '*' file.append /tmp/test.txt "welcome xiang"
salt '*' file.remove /tmp/1.txt
7.network模块:
salt '*' network.dig www.qq.com
salt '*' network.ping www.qq.com
salt '*' network.ip_addrs
8.pkg包管理模块:
管理yum, apt-get等
salt '*' pkg.install php(安装应用)
salt '*' pkg.remove php(移除应用)
salt '*' pkg.upgrade (升级所有的软件包)
9.service模块(centos6)
salt '*' service.enable nginx
salt '*' service.disable nginx
salt '*' service.restart nginx
Grains
自定义grians(是在minion上定义的)
记录的是客户端上的
grains是在minion启动时搜集一些信息,如操作系统类型,网卡,内核版本,cpu架构等
salt "*" grains.ls 列出所有grains项目名字
salt "*app.*" grains.items 列出所有grains项目以及值
salt "*" grans.item serialnumber查看服务器的sn码
(其他以此类推)
grains的信息并不是动态的,并不会实时变化,它只是在minion启动时收集到的
我们可以根据grains收集到的一些信息,做一些配置管理工作
在minion上:
vim /etc/salt/grains
role: nginx
env: test
重启
service salt-minion restart 获取grians:
salt "*" grains.item role env 或者:
salt -G "*" role:nginx cmd.run "hostname“
salt ‘*’grains.items
(虽然也挺好用,但是很少用,要用也是用pillar)
Pillar
(记录的是服务端上的信息)
pillar(在master上定义)
(yaml语法)
在配置文件中找pillar的文件路劲:创建目录
mkdir /export/salt/pillar 在目录内定义文件:
vim top.sls
base:
"*":
- test
vim test.sls
conf: xiang
然后
刷新pillar:
salt '*' saltutil.refresh_pillar 验证:
salt '*' pillar.items conf 或者:
salt -I 'conf:xiang' test.ping