常用命令
1
2
3
4
5
6
7
8
9
| salt -N 'ceph' test.ping #测试连通性
salt -E '^server10*' test.ping #正则匹配连通性
salt -S 192.168.150.101 test.ping #根据agent ip地址匹配执行
salt -S 192.168.150.0/24 test.ping #根据agent ip地址匹配执行
salt -N 'ceph' cmd.run 'df -Th' #按组查看磁盘使用
salt -N 'ceph' cmd.exec_code python 'import os; print os.system("df -Th")' #python代码执行
salt -N 'ceph' cmd.exec_code perl 'print scalar localtime' #perl代码执行
salt -G 'osrelease:6.3' cmd.run 'python -V' #根据grans信息过滤后执行
salt '*' smbios.get system-serial-number #获取服务器硬件序列号
|
远程执行脚本:
1
| salt -N 'ceph' salt://scripts/runme.sh #远程执行脚本
|
远程拷贝文件:
1
2
3
4
5
6
7
8
| salt -N 'ceph' cp.get_file salt://files/opencdn/a.txt /tmp/a.txt #agent端从master拉取文件到/tmp下
salt -N 'ceph' cp.get_file salt://files/opencdn/dir1/ /tmp #agent端从master拉取目录到/tmp下
salt -N 'ceph' cp.get_url http://www.baidu.com /tmp/index.html #下载url
salt -N 'ceph' cp.push /etc/fstab #提取指定节点文件到master,默认在/var/cache/salt/master/minions/minion-id/files目录下
salt -N 'ceph' cp.push_dir /etc/modprobe.d/ glob='*.conf' #提取节点指定目录的指定配置文件
salt-cp '*' fstab /etc/fstab #拷贝当前目录下fstab文件到节点/etc/fstab
salt-cp -E 'gpu0[1-2][1-5]' fstab /etc/fstab #正则匹配拷贝文件
salt-cp -G 'os:CentOS*' fstab /etc/fstab #grains匹配拷贝文件
|
获取磁盘信息
1
2
3
| salt -N 'ceph' disk.percent /data01 #获取磁盘使用率
salt -N 'ceph' disk.nodeusage /data01 #获取磁盘inode使用
salt -N 'ceph' xfs.info /data01 #获取xfs分区信息
|
文件操作
1
2
3
| salt -N 'ceph' file.chown /etc/passwd root root #修改文件权限
salt -N 'ceph' file.copy /etc/passwd /tmp/passwd #拷贝文件
salt -N 'ceph' file.directory_exists /etc/passwd #判断文件是否存在
|
用户信息操作
1
2
3
| salt -N 'ceph' user.list_users #列出系统所有系统账号
salt -N 'ceph' user.info lianghaiqiang #列出用户信息
salt -N 'ceph' user.delete lianghaiqiang remove=True force=True #强制删除用户
|
时区、重启、任务计划
1
2
3
4
5
| salt -N 'ceph' timezone.get_zone #获取时区
salt -N 'ceph' timezone.set_zone #设置时区
salt -N 'ceph' system.reboot #重启系统
salt -N 'ceph' cron.list_tab root #列出root计划任务
salt -N 'ceph' cron.raw_cron root #列出root计划任务,文本格式
|
文件解压缩:
1
2
3
| salt -N 'ceph' archive.cmd_unzip template=jinja /tmp/zipfile.zip /tmp/{{grains.id}}/ excludes=file_1,file_2
salt -N 'ceph' archive.cmd_unzip /tmp/zipfile.zip /home/strongbad/ excludes=file_1,file_2
salt -N 'ceph' archive.cmd_zip template=jinja /tmp/zipfile.zip /tmp/sourcefile1,/tmp/{{grains.id}}.txt
|
网络
1
2
3
4
5
6
| salt -N 'ceph' network.dig www.baidu.com #dig解析
salt -N 'ceph' network.get_hostname #获取主机名
salt -N 'ceph' network.hw_addr eth0 #获取MAC地址
salt -N 'ceph' network.ip_addrs #获取IP地址
salt -N 'ceph' network.ping www.baidu.com timeout=3 #ping信息
salt -N 'ceph' pkg.install zlib #安装软件包
|
获取对象帮助信息:
如:grains/disk/pillar/pip/pkg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| salt -N 'ceph' sys.doc sys #获取sys系统帮助信息
salt 'gpu054' sys.list_functions grains #查询grains属性用法
salt 'gpu054' sys.doc grains #查询grains用法帮助
salt 'gpu054' sys.doc disk #查询disk用法帮助
salt 'gpu054' sys.list_functions pillar #查询pillar用法
salt 'gpu054' sys.doc pillar #查询pillar用法帮助
salt 'gpu054' pillar.item #查询pillar支持数据源
salt 'gpu054' sys.list_modules #查询minion支持模块
salt 'gpu054' sys.list_functions pip #查询pip模块支持方法
salt 'gpu054' sys.doc pip #查看pip模块帮助
salt 'gpu054' sys.list_state_modules #查询所有states列表
salt 'gpu054' sys.list_state_functions pkg #查询pkg方法
salt 'gpu054' sys.state_doc pkg #查询pkg帮助
|
Jobs管理:
1
2
3
4
| salt-run jobs.active #查看所有minion当前正在运行的jobs(在所有minions上运⾏saltutil.running)
salt-run jobs.lookup_jid <jid> #从master jobs cache中查询指定jid的运行结果
salt-run jobs.list_jobs #列出当前master jobs cache中的所有job
salt 'xxxx' saltutil.kill_job <jid> #master上kill掉某个job
|