SaltStack常用的模块
文章目录
- 2.6.26 file.move
- 2.6.27 file.prepend
- 2.6.28 file.sed
- 2.6.29 file.read
- 2.6.30 file.readdir
- 2.6.31 file.remove
- 2.6.33 file.set_mode
- 2.6.34 file.symlink
- 2.6.35 file.touch
- 2.6.36 file.uid_to_user
- 2.6.37 file.user_to_uid
- 2.6.38 file.write
2.6 SaltStack常用模块之file
2.6.26 file.move
移动或重命名
//重命名
[root@master ~]# salt '*' cmd.run 'ls -l /root'
192.168.69.202:
total 20
-rw-r--r--. 1 root root 26 Feb 24 16:16 a
drwxr-xr-x. 2 root root 6 Feb 24 17:05 abc
-rw-------. 1 root root 1259 Feb 24 15:00 anaconda-ks.cfg
-rw-r--r--. 1 root root 26 Feb 24 16:16 b
-rw-r--r--. 1 root root 26 Feb 24 16:16 cc
-rw-r--r--. 1 root root 26 Feb 24 16:18 cca
dr--------. 2 tom tom 6 Feb 24 17:07 haha
[root@master ~]# salt '*' file.move /root/a /root/b
192.168.69.202:
----------
comment:
'/root/a' moved to '/root/b'
result:
True
[root@master ~]# salt '*' cmd.run 'ls -l /root'
192.168.69.202:
total 16
drwxr-xr-x. 2 root root 6 Feb 24 17:05 abc
-rw-------. 1 root root 1259 Feb 24 15:00 anaconda-ks.cfg
-rw-r--r--. 1 root root 26 Feb 24 16:16 b
-rw-r--r--. 1 root root 26 Feb 24 16:16 cc
-rw-r--r--. 1 root root 26 Feb 24 16:18 cca
dr--------. 2 tom tom 6 Feb 24 17:07 haha
//移动
[root@master ~]# salt '*' cmd.run 'ls -l /root'
192.168.69.202:
total 16
drwxr-xr-x. 2 root root 6 Feb 24 17:05 abc
-rw-------. 1 root root 1259 Feb 24 15:00 anaconda-ks.cfg
-rw-r--r--. 1 root root 26 Feb 24 16:16 b
-rw-r--r--. 1 root root 26 Feb 24 16:16 cc
-rw-r--r--. 1 root root 26 Feb 24 16:18 cca
dr--------. 2 tom tom 6 Feb 24 17:07 haha
[root@master ~]# salt '*' cmd.run 'ls -l /opt'
192.168.69.202:
total 0
[root@master ~]# salt '*' file.move /root/cc /opt/
salt '*' file.move /root/cc /opt/
192.168.69.202:
----------
comment:
'/root/cc' moved to '/opt/'
result:
True
[root@master ~]# salt '*' cmd.run 'ls -l /opt'
192.168.69.202:
total 4
-rw-r--r--. 1 root root 26 Feb 24 16:16 cc
2.6.27 file.prepend
把文本插入指定文件的开头
[root@master ~]# salt '*' cmd.run 'cat /root/b'
192.168.69.202:
hello world
hello runtime
[root@master ~]# salt '*' file.prepend /root/b "hehe" "xixi" "haha"
192.168.69.202:
Prepended 3 lines to "/root/b"
[root@master ~]# salt '*' cmd.run 'cat /root/b'
192.168.69.202:
hehe
xixi
haha
hello world
hello runtime
2.6.28 file.sed
修改文本文件的内容
[root@master ~]# salt '*' cmd.run 'cat /root/b'
192.168.69.202:
hehe
xixi
haha
hello hello hello hello world
hello runtime
[root@master ~]# salt '*' file.sed /root/b 'hello' 'runtime'
192.168.69.202:
----------
pid:
25170
retcode:
0
stderr:
stdout:
[root@master ~]# salt '*' cmd.run 'cat /root/b'
192.168.69.202:
hehe
xixi
haha
runtime runtime runtime runtime world
runtime runtime
[root@master ~]# salt '*' cmd.run 'cat /root/b'
192.168.69.202:
hehe
xixi
haha
hello hello hello hello world
hello hello
[root@master ~]# salt '*' file.sed /root/b 'hello' 'runtime' flags=2
192.168.69.202:
----------
pid:
25590
retcode:
0
stderr:
stdout:
[root@master ~]# salt '*' cmd.run 'cat /root/b'
192.168.69.202:
hehe
xixi
haha
hello runtime hello hello world
hello runtime
2.6.29 file.read
读取文件内容
[root@master ~]# salt '*' cmd.run 'cat /root/cca'
192.168.69.202:
hello world
hello runtime
[root@master ~]# salt '*' file.read /root/cca
192.168.69.202:
hello world
hello runtime
2.6.30 file.readdir
列出指定目录下的所有文件或目录,包括隐藏文件
[root@master ~]# salt '*' file.readdir /root
192.168.69.202:
- .
- ..
- .bash_logout
- .bash_profile
- .bashrc
- .cshrc
- .tcshrc
- .bash_history
- .local
- .config
- .pki
- .ICE-unix
- .X11-unix
- .XIM-unix
- .font-unix
- .Test-unix
- anaconda-ks.cfg
- cca
- abc
- haha
- b.bak
- b
- .viminfo
2.6.31 file.remove
删除指定的文件或目录,若给出的是目录,将递归删除
[root@master ~]# salt '*' cmd.run 'ls -l /root/'
192.168.69.202:
total 16
drwxr-xr-x. 2 root root 6 Feb 24 17:05 abc
-rw-------. 1 root root 1259 Feb 24 15:00 anaconda-ks.cfg
-rw-r--r--. 1 root root 62 Feb 24 17:29 b
-rw-r--r--. 1 root root 58 Feb 24 17:29 b.bak
-rw-r--r--. 1 root root 26 Feb 24 16:18 cca
dr--------. 2 tom tom 6 Feb 24 17:07 haha
[root@master ~]# salt '*' file.remove /root/b
192.168.69.202:
True
[root@master ~]# salt '*' file.remove /root/abc
192.168.69.202:
True
[root@master ~]# salt '*' cmd.run 'ls -l /root/'
192.168.69.202:
total 12
-rw-------. 1 root root 1259 Feb 24 15:00 anaconda-ks.cfg
-rw-r--r--. 1 root root 58 Feb 24 17:29 b.bak
-rw-r--r--. 1 root root 26 Feb 24 16:18 cca
dr--------. 2 tom tom 6 Feb 24 17:07 haha
2.6.32 file.rename
重命名文件或目录
[root@master ~]# salt '*' cmd.run 'ls -l /root/'
192.168.69.202:
total 12
-rw-------. 1 root root 1259 Feb 24 15:00 anaconda-ks.cfg
-rw-r--r--. 1 root root 58 Feb 24 17:29 b.bak
-rw-r--r--. 1 root root 26 Feb 24 16:18 cca
dr--------. 2 tom tom 6 Feb 24 17:07 haha
[root@master ~]# salt '*' file.rename /root/b.bak /root/b
192.168.69.202:
True
[root@master ~]# salt '*' cmd.run 'ls -l /root/'
192.168.69.202:
total 12
-rw-------. 1 root root 1259 Feb 24 15:00 anaconda-ks.cfg
-rw-r--r--. 1 root root 58 Feb 24 17:29 b
-rw-r--r--. 1 root root 26 Feb 24 16:18 cca
dr--------. 2 tom tom 6 Feb 24 17:07 haha
2.6.33 file.set_mode
给指定文件设置权限
[root@master ~]# salt '*' cmd.run 'ls -l /root'
192.168.69.202:
total 12
-rw-------. 1 root root 1259 Feb 24 15:00 anaconda-ks.cfg
-rw-r--r--. 1 root root 58 Feb 24 17:29 b
-rw-r--r--. 1 root root 26 Feb 24 16:18 cca
dr--------. 2 tom tom 6 Feb 24 17:07 haha
[root@master ~]# salt '*' file.set_mode /root/b 0400
192.168.69.202:
0400
[root@master ~]# salt '*' cmd.run 'ls -l /root'
192.168.69.202:
total 12
-rw-------. 1 root root 1259 Feb 24 15:00 anaconda-ks.cfg
-r--------. 1 root root 58 Feb 24 17:29 b
-rw-r--r--. 1 root root 26 Feb 24 16:18 cca
dr--------. 2 tom tom 6 Feb 24 17:07 haha
2.6.34 file.symlink
给指定的文件创建软链接
[root@master ~]# salt '*' cmd.run 'ls -l /root/'
192.168.69.202:
total 12
-rw-------. 1 root root 1259 Feb 24 15:00 anaconda-ks.cfg
-r--------. 1 root root 58 Feb 24 17:29 b
-rw-r--r--. 1 root root 26 Feb 24 16:18 cca
dr--------. 2 tom tom 6 Feb 24 17:07 haha
[root@master ~]# salt '*' file.symlink /root/b /opt/a
192.168.69.202:
True
[root@master ~]# salt '*' cmd.run 'ls -l /root;ls -l /opt/'
192.168.69.202:
total 12
-rw-------. 1 root root 1259 Feb 24 15:00 anaconda-ks.cfg
-r--------. 1 root root 58 Feb 24 17:29 b
-rw-r--r--. 1 root root 26 Feb 24 16:18 cca
dr--------. 2 tom tom 6 Feb 24 17:07 haha
total 4
lrwxrwxrwx. 1 root root 7 Mar 1 18:18 a -> /root/b
-rw-rw-r--. 1 zabbix zabbix 4 Feb 28 08:38 jjyy
2.6.35 file.touch
创建空文件或更新时间戳
[root@master ~]# salt '*' cmd.run 'ls -l /opt'
192.168.69.202:
total 4
lrwxrwxrwx. 1 root root 7 Mar 1 18:18 a -> /root/b
-rw-r--r--. 1 root root 0 Mar 1 18:21 aa
-rw-rw-r--. 1 zabbix zabbix 4 Feb 28 08:38 jjyy
[root@master ~]# salt '*' file.touch /opt/cc
192.168.69.202:
True
[root@master ~]# salt '*' file.touch /opt/aa
192.168.69.202:
True
[root@master ~]# salt '*' cmd.run 'ls -l /opt'
192.168.69.202:
total 4
lrwxrwxrwx. 1 root root 7 Mar 1 18:18 a -> /root/b
-rw-r--r--. 1 root root 0 Mar 1 18:22 aa
-rw-r--r--. 1 root root 0 Mar 1 18:22 cc
-rw-rw-r--. 1 zabbix zabbix 4 Feb 28 08:38 jjyy
2.6.36 file.uid_to_user
将指定的 uid 转换成用户名显示出来
[root@master ~]# salt '*' file.uid_to_user 0
192.168.69.202:
root
[root@master ~]# salt '*' file.uid_to_user 1000
192.168.69.202:
tom
2.6.37 file.user_to_uid
将指定的用户转换成 uid 并显示出来
[root@master ~]# salt '*' file.user_to_uid tom
192.168.69.202:
1000
[root@master ~]# salt '*' file.user_to_uid root
192.168.69.202:
0
2.6.38 file.write
往一个指定的文件里覆盖写入指定内容
[root@master ~]# salt '*' cmd.run 'cat /root/b'
192.168.69.202:
I'm sean
[root@master ~]# salt '*' file.write /root/b "I'm tom" "haha" "xixi"
192.168.69.202:
Wrote 3 lines to "/root/b"
[root@master ~]# salt '*' cmd.run 'cat /root/b'
192.168.69.202:
I'm tom
haha
xixi