SaltStack常用模块之file

本文详细介绍了SaltStack的file模块,包括检查文件权限、追加内容、修改文件属性、设置属主属组、文件复制、查找操作、计算磁盘使用情况等功能,帮助用户更好地管理和操作文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SaltStack常用模块之file
file.access
检查指定路径是否存在

[root@master ~]# salt '*' cmd.run 'ls /usr/src'
192.168.11.132:
    debug
    group
    kernels
    passwd
    shadow

[root@master ~]# salt '*' file.access /usr/src/tjj f
192.168.11.132:
    False

检查指定文件的权限信息

[root@master ~]# salt '*' cmd.run 'ls -l /usr/src/'
192.168.11.132:
    total 12
    drwxr-xr-x. 2 root root   6 Apr 11  2018 debug
    -rw-r--r--  1 root root 477 Aug 19 22:58 group
    drwxr-xr-x. 2 root root   6 Apr 11  2018 kernels
    -rw-r--r--  1 root root 946 Aug 19 22:57 passwd
    -rw-r--r--  1 root root 604 Aug 19 22:58 shadow
[root@master ~]# salt '*' file.access /usr/src/passwd r 
192.168.11.132:
    True
[root@master ~]# salt '*' file.access /usr/src/passwd w 
192.168.11.132:
    True
[root@master ~]# salt '*' file.access /usr/src/passwd x
192.168.11.132:
    False

file.append
往一个文件里追加内容,若此文件不存在则会报异常

[root@master ~]# salt '*' cmd.run 'ls -l /root/a'
192.168.11.132:
    -rw-r--r-- 1 root root 0 Aug 19 22:04 /root/a
[root@master ~]# salt '*' file.append /root/a "hello world" "world hello"
192.168.11.132:
    Wrote 2 lines to "/root/a"
[root@master ~]# salt '*' cmd.run 'cat /root/a'
192.168.11.132:
    hello world
    world hello

file.basename
获取指定路径的基名,等同于basename命令

[root@master ~]# salt '*' file.basename '/usr/local/tjj'
192.168.11.132:
    tjj

file.dirname
获取指定路径的目录名

[root@master ~]# salt '*' file.dirname '/usr/local/tjj'
192.168.11.132:
    /usr/local

file.check_hash
检查指定的文件与hash字符串是否匹配,匹配则返回 True 否则返回 False

[root@master ~]# salt '*' cmd.run 'md5sum /etc/passwd'
192.168.11.132:
    73020f0a33302qwe6a8d1615a0a9d64ad  /etc/passwd
    
[root@master ~]# salt '*' file.check_hash /etc/passwd 73020f0a33302qwe6a8d1615a0a9d64ad
192.168.11.132:
    True
    

file.chattr
修改指定文件的属性

属性	对文件的意义	对目录的意义
a	只允许在这个文件之后追加数据, 不允许任何进程覆盖或截断这个文件	只允许在这个目录下建立和修改文件, 而不允许删除任何文件
i	不允许对这个文件进行任何的修改, 不能删除、更改、移动	任何的进程只能修改目录之下的文件, 不允许建立和删除文件

给指定文件添加属性

[root@master ~]# salt '*' file.chattr /root/a operator=add attributes=ai
192.168.11.132:
    True
[root@master ~]# salt '*' cmd.run 'lsattr /root'
192.168.11.132:
    ---------------- /root/anaconda-ks.cfg
    ----ia---------- /root/a

给指定文件去除属性

[root@master ~]# salt '*' file.chattr /root/a operator=remove attributes=ai
192.168.11.132:
    True
[root@master ~]# salt '*' cmd.run 'lsattr /root'
192.168.11.132:
    ---------------- /root/anaconda-ks.cfg
    ---------------- /root/a

file.chown
设置指定文件的属主、属组信息

[root@master ~]# salt '*' cmd.run 'ls -l /root/'
192.168.11.132:
    total 8
    -rw-r--r--  1 root root   24 Aug 19 22:04 a
    -rw-------. 1 root root 1257 Apr  8 02:56 anaconda-ks.cfg
[root@master ~]# salt '*' file.chown /root/a tom tom
192.168.11.132:
    None
[root@master ~]# salt '*' cmd.run 'ls -l /root/'
192.168.11.132:
    total 8
    -rw-r--r--  1 tom  tom    24 Aug 19 22:04 a
    -rw-------. 1 root root 1257 Apr  8 02:56 anaconda-ks.cfg

file.copy
在远程主机上复制文件或目录

拷贝文件

[root@master ~]# salt '*' cmd.run 'ls -l /root'
192.168.11.132:
    total 8
    -rw-r--r--  1 tom  tom    24 Aug 19 22:04 a
    -rw-------. 1 root root 1257 Apr  8 02:56 anaconda-ks.cfg
[root@master ~]# salt '*' file.copy /root/a /root/tjj
192.168.11.132:
    True
[root@master ~]#  salt '*' cmd.run 'ls -l /root'
192.168.11.132:
    total 12
    -rw-r--r--  1 tom  tom    24 Aug 19 22:04 a
    -rw-r--r--  1 tom  tom    24 Aug 19 22:13 tjj
    -rw-------. 1 root root 1257 Apr  8 02:56 anaconda-ks.cfg

覆盖并拷贝目录,将会覆盖同名文件或目录

[root@master ~]# salt '*' cmd.run 'ls -l /root'
192.168.11.132:
    total 12
    -rw-r--r--  1 tom  tom    24 Aug 19 22:04 a
    -rw-r--r--  1 tom  tom    24 Aug 19 22:13 tjj
    -rw-------. 1 root root 1257 Apr  8 02:56 anaconda-ks.cfg

[root@master ~]#  salt '*' file.copy /tmp/
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值