saltstack模块之file相关模块
1、file.access
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了鸡东免费建站欢迎大家使用!
file.access:测试salt进程是否有对指定文件的对应访问权限。
[root@salt-master ~]# salt '*' file.access /etc/passwd f salt-minion02.contoso.com: True salt-minion01.contoso.com: True [root@salt-master ~]# salt '*' file.access /etc/passwd r salt-minion02.contoso.com: True salt-minion01.contoso.com: True [root@salt-master ~]# salt '*' file.access /etc/passwd w salt-minion01.contoso.com: True salt-minion02.contoso.com: True [root@salt-master ~]# salt '*' file.access /etc/passwd x salt-minion02.contoso.com: False salt-minion01.contoso.com: False
2、file.touch
file.touch:如果文件不存在创建文件,相当于touch file,如果文件存在就更新访问时间或者修改时间。
[root@salt-master ~]# salt '*' file.touch /tmp/salt-test salt-minion02.contoso.com: True salt-minion01.contoso.com: True
3、file.append
file.append:追加文字到文件的末尾。
[root@salt-master ~]# salt '*' file.append /tmp/sal-test "Hello,World." salt-minion01.contoso.com: Wrote 1 lines to "/tmp/sal-test" salt-minion02.contoso.com: Wrote 1 lines to "/tmp/sal-test" [root@salt-master ~]# salt '*' file.append /tmp/sal-test args='Hello=Hi' salt-minion01.contoso.com: Wrote 1 lines to "/tmp/sal-test" salt-minion02.contoso.com: Wrote 1 lines to "/tmp/sal-test" [root@salt-master ~]# salt '*' file.append /tmp/sal-test args="['true=1','false=0']" salt-minion01.contoso.com: Wrote 2 lines to "/tmp/sal-test" salt-minion02.contoso.com: Wrote 2 lines to "/tmp/sal-test"
4、file.basename
file.basename:返回所给路径的最后一个部分。
[root@salt-master ~]# salt '*' file.basename /tmp/sal-test salt-minion02.contoso.com: sal-test salt-minion01.contoso.com: sal-test
5、file.chgrp
file.chgrp:修改文件的属组。
[root@salt-master ~]# salt '*' file.chgrp /tmp/testfile nginx salt-minion01.contoso.com: None salt-minion02.contoso.com: None [root@salt-master ~]# salt '*' cmd.run "ls -l /tmp/testfile" salt-minion01.contoso.com: -rw-r--r-- 1 root nginx 0 Jun 4 01:27 /tmp/testfile salt-minion02.contoso.com: -rw-r--r-- 1 root nginx 0 Jun 4 01:27 /tmp/testfile
6、file.chown
file.chown:修改文件的属主和属组。
[root@salt-master ~]# salt '*' file.chown /tmp/testfile nginx nginx salt-minion01.contoso.com: None salt-minion02.contoso.com: None [root@salt-master ~]# salt '*' cmd.run "ls -l /tmp/testfile" salt-minion02.contoso.com: -rw-r--r-- 1 nginx nginx 0 Jun 4 01:27 /tmp/testfile salt-minion01.contoso.com: -rw-r--r-- 1 nginx nginx 0 Jun 4 01:27 /tmp/testfile
7、file.copy
file.copy:从源目录拷贝文件到目标目录。如果要拷贝目录,需要添加recurse标签,默认情况下会覆盖目标目录中相同路径的文件,并保留其他文件。remove_existing选项会提前移除目标目录中的所有文件,然后再从源路径拷贝文件到目标路径。
[root@salt-master ~]# salt '*' file.copy /etc/hosts /tmp/hosts salt-minion01.contoso.com: True salt-minion02.contoso.com: True [root@salt-master ~]# salt '*' cmd.run 'ls -l /tmp/hosts' salt-minion01.contoso.com: -rw-r--r-- 1 root root 327 Jun 4 01:41 /tmp/hosts salt-minion02.contoso.com: -rw-r--r-- 1 root root 330 Jun 4 01:41 /tmp/hosts [root@salt-master ~]# salt '*' file.copy /var/spool/cron/ /tmp/ recurse=True salt-minion01.contoso.com: True salt-minion02.contoso.com: True [root@salt-master ~]# salt '*' cmd.run 'ls -l /tmp/root' salt-minion02.contoso.com: -rw-r--r-- 1 root root 89 Jun 4 01:46 /tmp/root salt-minion01.contoso.com: -rw-r--r-- 1 root root 73 Jun 4 01:46 /tmp/root [root@salt-master ~]# salt '*' file.copy /var/spool/cron/ /tmp/ recurse=True remove_existing=True salt-minion02.contoso.com: True salt-minion01.contoso.com: True [root@salt-master ~]# salt '*' cmd.run 'ls -l /tmp' salt-minion01.contoso.com: total 4 -rw-r--r-- 1 root root 73 Mar 11 21:35 root salt-minion02.contoso.com: total 4 -rw------- 1 root root 89 May 25 13:32 root
8、file.dirname
file.dirname:返回指定路径的目录部分。
[root@salt-master ~]# salt '*' file.dirname /etc/passwd salt-minion01.contoso.com: /etc salt-minion02.contoso.com: /etc
9、file.diskusage
file.diskusage:递归计算指定目录所占的磁盘空间并以字节为单位返回计算出的值。
[root@salt-master ~]# salt '*' file.diskusage /root/install.log salt-minion01.contoso.com: 30131 salt-minion02.contoso.com: 30131
10、file.file_exists
file.file_exists:测试目标路径是否是一个有效文件,返回值为True或False。
[root@salt-master ~]# salt '*' file.file_exists /etc/passwd salt-minion02.contoso.com: True salt-minion01.contoso.com: True
11、file.find
file.find:返回指定搜索条件返回的文件路径,相当于Linux中的find命令,参数也兼容find命令。
[root@salt-master ~]# salt 'salt-minion01.contoso.com' file.find /var name=minion salt-minion01.contoso.com: - /var/cache/salt/minion - /var/log/salt/minion - /var/run/salt/minion [root@salt-master ~]# salt 'salt-minion01.contoso.com' file.find /var name=minion size=-1m salt-minion01.contoso.com: - /var/cache/salt/minion - /var/log/salt/minion - /var/run/salt/minion [root@salt-master ~]# salt 'salt-minion01.contoso.com' file.find /var name=minion size=-1m print=path,size,mtime salt-minion01.contoso.com: |_ - /var/cache/salt/minion - 4096 - 1495711378 |_ - /var/log/salt/minion - 1123 - 1496551874 |_ - /var/run/salt/minion - 4096 - 1496544267
12、file.get_gid
file.get_gid:返回所给文件的属组的id。
[root@salt-master ~]# salt '*' file.get_gid /etc/passwd salt-minion02.contoso.com: 0 salt-minion01.contoso.com: 0
13、file.get_group
file.get_group:返回所给文件的属组。
[root@salt-master ~]# salt '*' file.get_group /etc/passwd salt-minion02.contoso.com: root salt-minion01.contoso.com: root
14、file.get_uid
file.get_uid:返回所给文件的属主的id。
[root@salt-master ~]# salt '*' file.get_uid /etc/passwd salt-minion01.contoso.com: 0 salt-minion02.contoso.com: 0
15、file.get_user
file.get_user:返回所给文件的属主。
[root@salt-master ~]# salt '*' file.get_user /etc/passwd salt-minion02.contoso.com: root salt-minion01.contoso.com: root
16、file.grep
file.grep:从指定文件中查找字符串,相当于Linux中的grep命令,参数也兼容grep命令。
[root@salt-master ~]# salt 'salt-minion01.contoso.com' file.grep /etc/passwd nobody salt-minion01.contoso.com: ---------- pid: 1858 retcode: 0 stderr: stdout: nobody:x:99:99:Nobody:/:/sbin/nologin nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin [root@salt-master ~]# salt '*' file.grep /etc/sysconfig/network-scripts/ifcfg-eth0 ipaddr " -i" salt-minion01.contoso.com: ---------- pid: 1896 retcode: 0 stderr: stdout: IPADDR=192.168.49.101 salt-minion02.contoso.com: ---------- pid: 1770 retcode: 0 stderr: stdout: IPADDR=192.168.49.102
17、file.makedirs
file.makedirs:创建目录,需要确认目录所包含的路径是可用的。注意,路径一定要在结尾添加“/”,不然会被当做父目录,比如如果传入/tmp/pfile,就会被当做/tmp/处理,而传入/tmp/pfile/则会当做/tmp/pfile/处理。另外,虽然该模块名称包含dirs,但其实无法批量创建多个目录,如果传入多个参数默认只处理第一个参数。但是可以创建多级目录,即使上级目录不存在。
[root@salt-master ~]# salt '*' file.makedirs /tmp/pfile salt-minion01.contoso.com: Directory '/tmp' already exists salt-minion02.contoso.com: Directory '/tmp' already exists [root@salt-master ~]# salt '*' file.makedirs /tmp/pfile/ salt-minion02.contoso.com: None salt-minion01.contoso.com: None [root@salt-master ~]# salt '*' cmd.run 'ls -l /tmp/' salt-minion01.contoso.com: total 8 drwxr-xr-x 2 root root 4096 Jun 4 10:48 pfile -rw-r--r-- 1 root root 73 Mar 11 21:35 root salt-minion02.contoso.com: total 8 drwxr-xr-x 2 root root 4096 Jun 4 10:48 pfile -rw------- 1 root root 89 May 25 13:32 root [root@salt-master ~]# salt '*' file.makedirs /tmp/dic1/dic2/dic3/ salt-minion02.contoso.com: None salt-minion01.contoso.com: None [root@salt-master ~]# salt '*' cmd.run 'tree /tmp' salt-minion01.contoso.com: /tmp |-- dic1 | `-- dic2 | `-- dic3 |-- pfile |-- root `-- salt 5 directories, 1 file salt-minion02.contoso.com: /tmp |-- dic1 | `-- dic2 | `-- dic3 |-- pfile |-- root `-- salt 5 directories, 1 file
18、file.mkdir
file.mkdir:确认一个目录是可用的,也即创建指定目录。与file.makedirs不同的是,参数可以末尾不带“/”,也可以创建成功。另外,该模块支持批量创建多个目录,也支持创建多级目录。
[root@salt-master ~]# salt '*' file.mkdir /tmp/salt salt-minion02.contoso.com: None salt-minion01.contoso.com: None [root@salt-master ~]# salt '*' cmd.run 'ls -l /tmp' salt-minion01.contoso.com: total 12 drwxr-xr-x 2 root root 4096 Jun 4 10:48 pfile -rw-r--r-- 1 root root 73 Mar 11 21:35 root drwxr-xr-x 2 root root 4096 Jun 4 11:02 salt [root@salt-master ~]# salt '*' file.mkdir /tmp/salt1/slat2/salt3 salt-minion02.contoso.com: None salt-minion01.contoso.com: None [root@salt-master ~]# salt '*' file.mkdir /tmp/test1 /tmp/test2 /tmp/test3 salt-minion02.contoso.com: None salt-minion01.contoso.com: None [root@salt-master ~]# salt '*' file.mkdir /tmp/pfile/test salt-minion01.contoso.com: None salt-minion02.contoso.com: None
19、file.move
file.move:移动一个文件或目录。
[root@salt-master ~]# salt '*' file.move /tmp/pfile/test /tmp/salt01/ salt-minion01.contoso.com: ---------- comment: '/tmp/pfile/test' moved to '/tmp/salt01/' result: True salt-minion02.contoso.com: ---------- comment: '/tmp/pfile/test' moved to '/tmp/salt01/' result: True
20、file.remove
file.remove:删除文件。注意:该模块一次只能接受一个参数。
[root@salt-master ~]# salt '*' file.remove /tmp/dic1/ salt-minion02.contoso.com: True salt-minion01.contoso.com: True [root@salt-master ~]# salt '*' file.remove /tmp/test1/ salt-minion02.contoso.com: True salt-minion01.contoso.com: True
21、file.rename
file.rename:重命名一个文件或目录。
[root@salt-master ~]# salt '*' file.rename /tmp/salt1 /tmp/salt01 salt-minion01.contoso.com: True salt-minion02.contoso.com: True
22、file.stats
file.stats:返回包含指定文件状态的词典。
[root@salt-master ~]# salt 'salt-minion01.contoso.com' file.stats /etc/passwd salt-minion01.contoso.com: ---------- atime: 1496464651.48 ctime: 1489237646.83 gid: 0 group: root inode: 394628 mode: 0644 mtime: 1489237646.82 size: 1465 target: /etc/passwd type: file uid: 0 user: root
23、file.rmdir
file.rmdir:删除指定目录,如果目录不为空则返回失败。
[root@salt-master ~]# salt '*' file.rmdir /tmp/salt01 salt-minion02.contoso.com: Directory not empty salt-minion01.contoso.com: Directory not empty [root@salt-master ~]# salt '*' file.rmdir /tmp/salt salt-minion02.contoso.com: True salt-minion01.contoso.com: True
24、file.search
file.search:搜索pattern参数是否出现在指定文件中。
[root@salt-master ~]# salt '*' file.search /etc/passwd 'nginx' salt-minion02.contoso.com: True salt-minion01.contoso.com: True [root@salt-master ~]# salt '*' file.search /etc/passwd 'test' salt-minion02.contoso.com: False salt-minion01.contoso.com: False
25、file.readdir
file.readdir:返回包含一个目录内容的列表。
[root@salt-master ~]# salt '*' file.readdir /tmp/pfile salt-minion02.contoso.com: - . - .. - test salt-minion01.contoso.com: - . - .. - test
当前题目:saltstack模块之file相关模块
当前网址:http://pwwzsj.com/article/jdoigo.html