saltstack 基础模块
Salt 在 linux 系统下 基础操作
1、更改权限 # salt '172.16.3.9' file.set_mode /root/test 777 2、更改用户 # salt '172.16.3.9' file.chown /root/test test test 3、复制文件 # salt '172.16.3.9' file.copy /root/test /root/
cmd 模块:实现远程的命令行调用执行(默认具有root权限)
# salt '172.16.3.9' cmd.run 'free -m'
cp模块:实现远程文件、目录的复制,以及下载URL文件等操作
1、将主服务器的目录复制到被控主机 # salt '172.16.3.9' cp.get_dir salt://test/dir /minion/test 2、将主服务器文件复制到被控主机 # salt '172.16.3.9' cp.get_file salt://test/file /minion/test 3、下载URL内容到被控主机指定位置 # salt '172.16.3.9' cp.get_url http://www.qq.com/qq /tmp/qq
file 模块
1、file.stats 文件的信息状态
salt '172.16.2.22' file.stats /root/11.sh
1、更改用户组 # salt '172.16.3.9' file.chown /root/test test test 2、拷贝 /root/11.sh 到 /data/11.sh # salt '172.16.3.9' file.copy /root/11.sh /data/11.sh 3、更改权限 (cp.get_mode 获取权限)
# salt '172.16.3.9' file.get_mode /root/11.sh
# salt '172.16.3.9' file.set_mode /root/test 0777
4、创建文件 # salt '172.16.3.9' file.mkdir /root/test2 5、sed 编辑替换 # salt '172.16.3.9' file.sed /root/file1 ‘one’ ‘two’ 6、编辑文件 在最后一行添加 一行 line123 # salt '172.16.3.9' file.append /root/file1 'line123' 7、检查文件 (备份文件为 file1.bak )
# salt '172.16.3.9' file.file_exists /root/file1
8、检查文件夹
# salt '172.16.3.9' file.directory_exists /root/test
9、删除文件 # salt '172.16.3.9' file.remove /root/file1
pkg 包管理 (安装包)
# salt '172.16.3.9' pkg install nginx
# salt '172.16.3.9' pkg.remove nginx
# salt '172.16.3.9' pkg.upgrade nginx
service 服务模块:被控主机程序包服务管理
# salt '172.16.3.9' service.enable nginx
# salt '172.16.3.9' service.disable nginx
# salt '172.16.3.9' service.reload nginx
# salt '172.16.3.9' service.restart nginx
# salt '172.16.3.9' service.start nginx
# salt '172.16.3.9' service.stop nginx
# salt '172.16.3.9' service.status nginx
iptables 模块
1、添加一个端口 123456 # salt '172.16.3.9' iptables.append filter INPUT rule='-m state --state NEW -m tcp -p tcp --dport 12345 -j ACCEPT' 2、在 filter 规则第六行 插入 salt '172.16.3.9' iptables.insert filter INPUT position=6 rule='-m state --state NEW -m tcp -p tcp --dport 7788 -j ACCEPT' 3、删除 filter 规则下的第六行 # salt '172.16.3.9' iptables.delete filter INPUT position=6 4、保存 iptables # salt '172.16.3.9' iptables.save /etc/sysconfig/iptables
cron模块:实现被控主机的crontab操作
1、查看 root 账户下的 crontab 任务 # salt '172.16.3.9' cron.raw_cron root 2、添加 任务 # salt '172.16.3.9' cron.set_job root 30 23 * * * /usr/local/etc/rc.d/httpd restart 3、删除任务 # salt '172.16.3.9' cron.rm_job root 30 23 * * * /usr/local/etc/rc.d/httpd restart
network 模块 :返回被控主机的网络信息
1、指定被控主机获取dig、ping、traceroute目录域名信息 salt '172.16.3.9' network.dig www.qq.com salt '172.16.3.9' network.ping www.qq.com
salt '172.16.3.9' network.traceroute www.qq.com 2、取指定被控主机的mac地址 salt '172.16.3.9' network.hwaddr eth0 3、测指定被控主机是否属于10.0.0.0/16子网范围,属于则返回 True salt '172.16.3.9' network.in_subnet 10.0.0.0/16 4、取指定被控主机的网卡配置信息 salt '172.16.3.9' network.interfaces 5、取指定被控主机的IP地址配置信息 salt '172.16.3.9' network.ip_addrs 6、取指定被控主机的子网信息 salt '172.16.3.9' network.subnets