本文主要整理日常 saltstack 使用时的最常用的一些命令,以供快速查阅;
自由度最大的模块: cmd 模块
适用于登录 salt master 机器, 人工操作时执行;
1 2 3 4 5 6
| sudo salt * cmd.run "ls -l /etc/localtime" sudo salt * cmd.run uptime
sudo salt * cmd.script salt://minion_exeute.sh "args1 args2"
|
控制 minions 的定时任务执行情况: cron 模块
1 2 3 4 5 6
| sudo salt * cron.raw_cron root
sudo salt * cron.set_job root '*' '*' '*' '*' '*' /home/minion_execute.sh 1>/dev/null
sudo salt * cron.rm_job root '*' '*' '*' '*' '*' /home/minion_execute.sh 1>/dev/null
|
master 与 minions 的文件传输: cp 模块
1 2 3 4 5 6 7
| sudo salt * cp.get_file salt://target_file /minion_path
suod salt * cp.get_dir salt://target_dir /minion_path
sudo salt * cp.get_url salt://target_file /minion_path sudo salt * cp.get_url https://d3kbcqa49mib13.cloudfront.net/spark-2.2.0-bin-hadoop2.7.tgz /minion_path
|
服务启停控制: systemd 模块
salt.modules.systemd 模块是以 systemd 与 systemctl 为基础的, 尽管其命令多以 serice 开头, 不过该模块和 sysvinit 的 service 命令应该没什么关系;
1 2 3 4 5 6 7 8
| sudo salt * service.enable httpd sudo salt * service.disable httpd
sudo salt * service.start httpd sudo salt * service.stop httpd sudo salt * service.status httpd sudo salt * service.restart httpd
|
远程文件控制相关: file 模块
1 2 3 4 5 6 7 8 9 10 11 12 13
| sudo salt * file.touch /opt/rsync_passwd
sudo salt * file.mkdir /opt/rsync
sudo salt * file.remove /opt/rsync_passwd
sudo salt * file.rmdir /opt/rsync
sudo salt * file.chown /opt/rsync_passwd root root
sudo salt * file.set_mode /etc/rsync_passwd 600
|
salt 常用的状态检测
包括:
master 与 minions 之间的连通性 check_ping 检查;
minions salt version, dependency version, system version 检查;
minions network ping 外网检查;
磁盘容量 check_disk 检查;
等等;
1 2 3 4 5 6 7 8
| sudo salt * test.ping
sudo salt * test.versions_report
sudo salt * network.ping www.qunar.com
sudo salt * disk.usage
|
参考链接