saltstack部署上就不用管了,后面基本是是在维护上用大量的时间了,耗费时间去逐一修改配置,不如好好研究下salt,用多了就都会喜欢上它的。
1、salt的常用使用整理如下:
基本上执行的脚本命令就都在/src/salt这个目录下,因为上面配置文件/etc/salt/file_roots.conf文件里有定义。
执行的两种方式:
可以直接执行脚本命令。后面跟的就是命令就可以。
把命令拷贝到客户端,然后在客户端是执行(拷贝通过filemanaged模块,执行用call命令)。
1、salt '*' test.ping 最基本的功能,看那些主机能连上(salt '3d-1-172.1.3.13' test.ping)。
2、salt "*" cmd.run "Wmic Path Win32_OperatingSystem get LastBootUptime|findstr /v "LastBootUpTime"" 查看主机的最后开机时间。
[root@vm63 ~]# salt "*" cmd.run "Wmic Path Win32_OperatingSystem get LastBootUptime|findstr /v "LastBootUpTime""
3d-1-10.10.0.2:
20210128183339.739225+480
3d-2-10.10.0.25:
20210120131325.500000+480
3、salt '3d-1-10.10.0.27' cmd.run 'REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Afd\Parameters"' 过滤注册表文件
4、salt '3d-1-10.10.0.27' cmd.run 'dir C:\"Program Files"'>>/root/1.TXT 查找某个文件
5、salt '3d-2-172.3.3.13' cmd.run 'shutdown /r /f /t 0' 批量执行关机
6、比如需要把一个压缩文件拷贝到批量拷贝到机器上,然后自动解压缩后并复制到相应的目录。
首先编写解压缩脚本,然后通过file.managed模块发送到客户端,在客户端解压缩后再执行复制命令。
#1、首先编写解压缩脚本:
[root@vm63 sed]# cat 7z.bat
"C:\Program Files\7-Zip\7zG.exe" x C:\Windows\copy/bak.7z -oC:\Windows\copy/ -aoa
#2、编写sls文件拷贝到客户上:
[root@vm10-100-3-63 salt]#cat copy.sls
test1copy:
file.managed:
- name: D:\copy\7z.bat
- source: salt://copy/7z.bat
- makedirs: true
#3、拷贝到客户端minion:
[root@63 salt]#salt '*' state.sls sed
#4、进入D:\copy\目录下,然后call执行这个脚本会把文件解压缩到当前目录。
salt "*" cmd.run "cd /d D:\copy\ && call 7z.bat" > /root/7z.txt
#5、在windows中用xcopy复制到节后的所有内容到d盘d:\"Program Files"\"copy me"(最后用空格,所以要用双引号)
[root@63 salt]#salt '*' cmd.run 'xcopy C:\Windows\copy\bak\*.* d:\"Program Files"\"copy me" /s /h /d /y'
salt '*' state.sls sed
salt "*" cmd.run "cd /d D:\sed\ && call 7z.bat" > /root/7z.txt
salt 3d-1-172.31.33.91 cmd.run 'xcopy C:\Windows\PlatformMgr\bak\*.* d:\"Program Files"\"The Books of Dragon" /s /h /d /y'
来源:oschina
链接:https://my.oschina.net/yuanhaohao/blog/4949204