SaltStack常用的模块


文章目录



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