SaltStack常用模块之file和mysqllvs
Posted 码出未来_远
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SaltStack常用模块之file和mysqllvs相关的知识,希望对你有一定的参考价值。
SaltStack常用模块之file和mysql、lvs
文章目录
- SaltStack常用模块之file和mysql、lvs
- file.access
- file.append
- file.basename
- file.dirname
- file.check_hash
- file.chattr
- file.chown
- file.copy
- file.ditectory_exists
- file.diskusage
- file.file_exists
- file.find
- file.get_gid
- file.get_group
- file.get_hash
- file.get_mode
- file.get_selinux_context
- file.get_sum
- file.get_uid与file.get_user
- file.gid_to_group
- file.group_to_gid
- file.grep
- file.is_blkdev
- file.lsattr
- file.mkdir
- file.move
- file.prepend
- file.sed
- file.read
- file.readdir
- file.remove
- file.rename
- file.set_mode
- file.symlink
- file.touch
- file.uid_to_user
- file.user_to_uid
- file.write
file.access
检查指定路径是否存在
[root@master ~]# salt '*' cmd.run 'ls /usr/src'
minion:
123
debug
kernels
[root@master ~]# salt '*' file.access /usr/src/hzy f
minion:
True
检查指定文件的权限信息
[root@master ~]# salt '*' cmd.run 'ls -l /usr/src/'
minion:
total 4
-rwxr-xr-x. 1 root root 15 Jul 6 19:01 123
drwxr-xr-x. 2 root root 6 May 19 2020 debug
-rw-r--r--. 1 root root 0 Jul 7 17:20 hzy
drwxr-xr-x. 2 root root 6 May 19 2020 kernels
[root@master ~]# salt '*' file.access /usr/src/hzy r
minion:
True
[root@master ~]# salt '*' file.access /usr/src/hzy w
minion:
True
[root@master ~]# salt '*' file.access /usr/src/hzy x
minion:
[root@minion src]# chmod +x hzy
[root@master ~]# salt '*' file.access /usr/src/hzy x
minion:
True
file.append
往一个文件里追加内容,若此文件不存在则会报异常
[root@minion ~]# touch hzy
[root@minion ~]# ls
anaconda-ks.cfg hzy
[root@master ~]# salt '*' cmd.run 'ls -l /root/hzy'
minion:
-rw-r--r--. 1 root root 0 Jul 7 17:53 /root/hzy
[root@master ~]# salt '*' file.append /root/hzy "h" "z" "y"
minion:
Wrote 3 lines to "/root/hzy"
[root@master ~]# salt '*' cmd.run 'ls -l /root/hzy'
minion:
-rw-r--r--. 1 root root 6 Jul 7 17:53 /root/hzy
[root@master ~]# salt '*' cmd.run 'cat /root/hzy'
minion:
h
z
y
file.basename
获取指定路径的基名
[root@master ~]# salt '*' file.basename '/root/zabbix/abc'
minion:
abc
file.dirname
获取指定路径的目录名
[root@master ~]# salt '*' file.dirname '/root/zabbix/abc'
minion:
/root/zabbix
file.check_hash
检查指定的文件与hash字符串是否匹配,匹配则返回 True 否则返回 False
[root@master ~]# salt '*' cmd.run 'md5sum /etc/passwd'
minion:
76f8f3b0a4c7df4444400d2ec7de51bb /etc/passwd
[root@master ~]# salt '*' file.check_hash /etc/passwd 76f8f3b0a4c7df4444400d2ec7de51bb
minion:
True
file.chattr
修改指定文件的属性
属性 | 对文件的意义 | 对目录的意义 |
---|---|---|
a | 只允许在这个文件之后追加数据, 不允许任何进程覆盖或截断这个文件 | 只允许在这个目录下建立和修改文件, 而不允许删除任何文件 |
i | 不允许对这个文件进行任何的修改, 不能删除、更改、移动 | 任何的进程只能修改目录之下的文件, 不允许建立和删除文件 |
给指定文件添加属性
//查看当前属性
[root@master ~]# salt '*' cmd.run 'lsattr /root'
minion:
-------------------- /root/anaconda-ks.cfg
-------------------- /root/hzy
//添加属性
[root@master ~]# salt '*' file.chattr /root/hzy operator=add attributes=ai
minion:
True
[root@master ~]# salt '*' cmd.run 'lsattr /root'
minion:
-------------------- /root/anaconda-ks.cfg
----ia-------------- /root/hzy
给指定文件去除属性
[root@master ~]# salt '*' file.chattr /root/hzy operator=remove attributes=i
minion:
True
[root@master ~]# salt '*' cmd.run 'lsattr /root'
minion:
-------------------- /root/anaconda-ks.cfg
-----a-------------- /root/hzy
file.chown
设置指定文件的属主、属组信息
[root@master ~]# salt '*' cmd.run 'ls -l /root/'
minion:
total 8
-rw-------. 1 root root 1092 Jun 10 21:21 anaconda-ks.cfg
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy
[root@master ~]# salt '*' file.chown /root/hzy root root
[root@master ~]# salt '*' cmd.run 'ls -l /root/'
minion:
total 8
-rw-------. 1 root root 1092 Jun 10 21:21 anaconda-ks.cfg
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy
file.copy
在远程主机上复制文件或目录
拷贝文件
[root@master ~]# salt '*' cmd.run 'ls -l /root'
minion:
total 8
-rw-------. 1 root root 1092 Jun 10 21:21 anaconda-ks.cfg
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy
[root@master ~]# salt '*' file.copy /root/hzy /root/hzytest
minion:
True
[root@master ~]# salt '*' cmd.run 'ls -l /root'
minion:
total 12
-rw-------. 1 root root 1092 Jun 10 21:21 anaconda-ks.cfg
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy
-rw-r--r--. 1 root root 6 Jul 7 18:02 hzytest
覆盖并拷贝目录,将会覆盖同名文件或目录
[root@master ~]# salt '*' cmd.run 'ls -l /root'
minion:
total 12
-rw-------. 1 root root 1092 Jun 10 21:21 anaconda-ks.cfg
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy
-rw-r--r--. 1 root root 6 Jul 7 18:02 hzytest
[root@master ~]# salt '*' file.copy /tmp/ /root/abc recurse=True
minion:
True
[root@master ~]# salt '*' cmd.run 'ls -l /root'
minion:
total 12
drwxrwxrwt. 3 root root 99 Jul 7 18:03 abc
-rw-------. 1 root root 1092 Jun 10 21:21 anaconda-ks.cfg
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy
-rw-r--r--. 1 root root 6 Jul 7 18:02 hzytest
删除目标目录中同名的文件或目录并拷贝新内容至其中
[root@master ~]# salt '*' cmd.run 'ls -l /root/abc'
minion:
total 0
-rw-r--r--. 1 root root 0 Jul 7 18:03 new_cron
drwxr-xr-x. 3 root root 17 Jul 7 18:03 systemd-private-3bbb38c897114828abfe7a1df9017308-nginx.service-3iW91h
//拷贝目录
[root@master ~]# salt '*' file.copy /opt/abc/ /root/abc/ recurse=True remove_existing=True
minion:
True
[root@master ~]# salt '*' cmd.run 'ls -l /root/abc'
minion:
total 0
file.ditectory_exists
判断指定目录是否存在,存在则返回 True ,否则返回 False
[root@master ~]# salt '*' cmd.run 'ls -l /opt'
minion:
total 0
drwxr-xr-x. 2 root root 6 Jul 7 18:06 abc
[root@master ~]# salt '*' file.directory_exists /opt/abc
minion:
True
file.diskusage
递归计算指定路径的磁盘使用情况并以字节为单位返回
[root@master ~]# salt '*' cmd.run 'du -sb /opt'
minion:
23 /opt
[root@master ~]# salt '*' file.diskusage /opt
minion:
0
file.file_exists
判断指定文件是否存在
[root@master ~]# salt '*' cmd.run 'ls -l /root/'
minion:
total 12
drwxr-xr-x. 2 root root 6 Jul 7 18:06 abc
-rw-------. 1 root root 1092 Jun 10 21:21 anaconda-ks.cfg
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy
-rw-r--r--. 1 root root 6 Jul 7 18:02 hzytest
[root@master ~]# salt '*' file.file_exists /root/hzy
minion:
True
[root@master ~]# salt '*' file.file_exists /root/hzyhzy
minion:
False
file.find
类似 find 命令并返回符合指定条件的路径列表
[root@master ~]# salt '*' file.find /etc/ name=minion
minion:
- /etc/salt/minion
- /etc/salt/pki/minion
file.get_gid
获取指定文件的gid
[root@master ~]# salt '*' cmd.run 'ls -l /root/hzy'
minion:
-rw-r--r--. 1 root root 6 Jul 7 17:53 /root/hzy
[root@master ~]# salt '*' file.get_gid /root/hzy
minion:
0
file.get_group
获取指定文件的组名
[root@master ~]# salt '*' cmd.run 'ls -l /root/hzy'
minion:
-rw-r--r--. 1 root root 6 Jul 7 17:53 /root/hzy
[root@master ~]# salt '*' file.get_group /root/hzy
minion:
root
file.get_hash
获取指定文件的hash值,该值通过 sha256 算法得来
[root@master ~]# salt '*' cmd.run 'sha256sum /root/hzy'
minion:
2ca54ac4b5d0a45487aea401e19e11dba4a487f3f52b8ba0771a968f848f76e8 /root/hzy
[root@master ~]# salt '*' file.get_hash /root/hzy
minion:
2ca54ac4b5d0a45487aea401e19e11dba4a487f3f52b8ba0771a968f848f76e8
file.get_mode
获取指定文件的权限,以数字方式显示
[root@master ~]# salt '*' cmd.run 'ls -l /root/hzy'
minion:
-rw-r--r--. 1 root root 6 Jul 7 17:53 /root/hzy
[root@master ~]# salt '*' file.get_mode /root/hzy
minion:
0644
file.get_selinux_context
获取指定文件的 SELINUX 上下文信息
[root@master ~]# salt '*' cmd.run 'ls -Z /root/hzy'
minion:
unconfined_u:object_r:admin_home_t:s0 /root/hzy
[root@master ~]# salt '*' file.get_selinux_context /root/hzy
minion:
unconfined_u:object_r:admin_home_t:s0
file.get_sum
按照指定的算法计算指定文件的特征码并显示,默认使用的sha256算法。
该函数可使用的算法参数有:
- md5
- sha1
- sha224
- sha256 (default)
- sha384
- sha512
[root@master ~]# salt '*' cmd.run 'sha256sum /root/hzy'
minion:
2ca54ac4b5d0a45487aea401e19e11dba4a487f3f52b8ba0771a968f848f76e8 /root/hzy
[root@master ~]# salt '*' file.get_sum /root/hzy
minion:
2ca54ac4b5d0a45487aea401e19e11dba4a487f3f52b8ba0771a968f848f76e8
[root@master ~]# salt '*' cmd.run 'md5sum /root/hzy'
minion:
a2ce8184c44cc4444e193feaaef88015 /root/hzy
[root@master ~]# salt '*' file.get_sum /root/hzy md5
minion:
a2ce8184c44cc4444e193feaaef88015
file.get_uid与file.get_user
获取指定文件的 uid 或 用户名
[root@master ~]# salt '*' cmd.run 'ls -l /root/hzy'
minion:
-rw-r--r--. 1 root root 6 Jul 7 17:53 /root/hzy
[root@master ~]# salt '*' file.get_uid /root/hzy
minion:
0
[root@master ~]# salt '*' file.get_user /root/hzy
minion:
root
file.gid_to_group
将指定的 gid 转换为组名并显示
[root@master ~]# salt '*' file.gid_to_group 1000
minion:
1000
[root@master ~]# salt '*' file.gid_to_group 0
minion:
root
file.group_to_gid
将指定的组名转换为 gid 并显示
[root@master ~]# salt '*' file.group_to_gid root
minion:
0
[root@master ~]# salt '*' file.group_to_gid tom
minion:
650
file.grep
在指定文件中检索指定内容
该函数支持通配符,若在指定的路径中用通配符则必须用双引号引起来
[root@master ~]# salt '*' file.grep /etc/passwd nobody
minion:
----------
pid:
18221
retcode:
0
stderr:
stdout:
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
[root@master ~]# salt '*' file.grep /etc/sysconfig/network-scripts/ifcfg-ens33 ipaddr -- -i
minion:
----------
pid:
18231
retcode:
1
stderr:
stdout:
[root@master ~]# salt '*' file.grep /etc/sysconfig/network-scripts/ifcfg-ens33 ipaddr -- -i -B2
minion:
----------
pid:
18236
retcode:
1
stderr:
stdout:
[root@master ~]# salt '*' file.grep "/etc/sysconfig/network-scripts/*" ipaddr -- -i -l
minion:
----------
pid:
18246
retcode:
1
stderr:
stdout:
file.is_blkdev
判断指定的文件是否是块设备文件
[root@master ~]# salt '*' cmd.run 'ls -l /dev/sr0'
minion:
brw-rw----. 1 root cdrom 11, 0 Jul 6 17:50 /dev/sr0
[root@master ~]# salt '*' file.is_blkdev /dev/sr0
minion:
True
file.lsattr
检查并显示出指定文件的属性信息
[root@master ~]# salt '*' cmd.run 'lsattr /root/hzy'
minion:
-----a-------------- /root/hzy
[root@master ~]# salt '*' cmd.run 'chattr +i /root/hzy'
minion:
[root@master ~]# salt '*' cmd.run 'lsattr /root/hzy'
minion:
----ia-------------- /root/hzy
[root@master ~]# salt '*' file.lsattr /root/hzy
minion:
----------
/root/hzy:
- i
- a
file.mkdir
创建目录并设置属主、属组及权限
[root@master ~]# salt '*' cmd.run 'ls -l /root'
minion:
total 12
drwxr-xr-x. 2 root root 6 Jul 7 18:06 abc
-rw-------. 1 root root 1092 Jun 10 21:21 anaconda-ks.cfg
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy
-rw-r--r--. 1 root root 6 Jul 7 18:02 hzytest
[root@master ~]# salt '*' file.mkdir /root/www
minion:
True
[root@master ~]# salt '*' cmd.run 'ls -l /root'
minion:
total 12
drwxr-xr-x. 2 root root 6 Jul 7 18:06 abc
-rw-------. 1 root root 1092 Jun 10 21:21 anaconda-ks.cfg
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy
-rw-r--r--. 1 root root 6 Jul 7 18:02 hzytest
drwxr-xr-x. 2 root root 6 Jul 7 18:22 www
[root@master ~]# salt '*' file.mkdir /root/www tom tom 400
minion:
True
[root@master ~]# salt '*' cmd.run 'ls -l /root/'
minion:
total 12
drwxr-xr-x. 2 root root 6 Jul 7 18:06 abc
-rw-------. 1 root root 1092 Jun 10 21:21 anaconda-ks.cfg
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy
-rw-r--r--. 1 root root 6 Jul 7 18:02 hzytest
dr--------. 2 tom tom 6 Jul 7 18:22 www
file.move
移动或重命名
//重命名
[root@master ~]# salt '*' file.move /root/asd /root/asd2
minion:
----------
comment:
'/root/asd' moved to '/root/asd2'
result:
True
[root@master ~]# salt '*' cmd.run 'ls -l /root'
minion:
total 20
drwxr-xr-x. 2 root root 6 Jul 7 18:06 abc
-rw-------. 1 root root 1092 Jun 10 21:21 anaconda-ks.cfg
-rw-r--r--. 1 root root 0 Jul 7 18:24 asd2
-rw-r--r--. 1 root root 6 Jul 7 17:53 b-hzy
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy_2
-rw-r--r--. 1 root root 6 Jul 7 18:02 hzytest
drwxr-xr-x. 2 root root 6 Jul 7 18:22 www
//移动
[root@master ~]# salt '*' file.move /root/asd2 /opt/
minion:
----------
comment:
'/root/asd2' moved to '/opt/'
result:
True
[root@master ~]# salt '*' cmd.run 'ls -l /opt'
minion:
total 0
drwxr-xr-x. 2 root root 6 Jul 7 18:06 abc
-rw-r--r--. 1 root root 0 Jul 7 18:24 asd2
file.prepend
把文本插入指定文件的开头
[root@master ~]# salt '*' file.prepend /root/hzy "ss"
[root@master ~]# salt '*' cmd.run 'cat /root/hzy'
minion:
ss
h
z
y
file.sed
修改文本文件的内容
[root@master ~]# salt '*' cmd.run 'cat /root/q'
minion:
qwe
asd
zxc
[root@master ~]# salt '*' file.sed /root/q 'qwe' 'iop'
minion:
----------
pid:
18520
retcode:
0
stderr:
stdout:
[root@master ~]# salt '*' cmd.run 'cat /root/q'
minion:
iop
asd
zxc
[root@master ~]# salt '*' file.sed /root/q 'zxc' 'vbn' flags=1
minion:
----------
pid:
18551
retcode:
0
stderr:
stdout:
[root@master ~]# salt '*' cmd.run 'cat /root/q'
minion:
iop
asd
vbn
file.read
读取文件内容
[root@master ~]# salt '*' cmd.run 'cat /root/q'
minion:
iop
asd
vbn
[root@master ~]# salt '*' file.read /root/q
minion:
iop
asd
vbn
file.readdir
列出指定目录下的所有文件或目录,包括隐藏文件
[root@master ~]# salt '*' file.readdir /root
minion:
- .
- ..
- .bash_logout
- .bash_profile
- .bashrc
- .cshrc
- .tcshrc
- anaconda-ks.cfg
- .bash_history
- hzy
- hzytest
- abc
- www
- b-hzy
- hzy_2
- test.bak
- test
- q.bak
- q
file.remove
删除指定的文件或目录,若给出的是目录,将递归删除
[root@master ~]# salt '*' cmd.run 'ls -l /root/'
minion:
total 36
drwxr-xr-x. 2 root root 6 Jul 7 18:06 abc
-rw-------. 1 root root 1092 Jun 10 21:21 anaconda-ks.cfg
-rw-r--r--. 1 root root 6 Jul 7 17:53 b-hzy
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy_2
-rw-r--r--. 1 root root 6 Jul 7 18:02 hzytest
-rw-r--r--. 1 root root 13 Jul 7 18:39 q
-rw-r--r--. 1 root root 13 Jul 7 18:39 q.bak
-rw-r--r--. 1 root root 31 Jul 7 18:36 test
-rw-r--r--. 1 root root 31 Jul 7 18:35 test.bak
drwxr-xr-x. 2 root root 6 Jul 7 18:22 www
[root@master ~]# salt '*' file.remove /root/www
minion:
True
[root@master ~]# salt '*' cmd.run 'ls -l /root/'
minion:
total 36
drwxr-xr-x. 2 root root 6 Jul 7 18:06 abc
-rw-------. 1 root root 1092 Jun 10 21:21 anaconda-ks.cfg
-rw-r--r--. 1 root root 6 Jul 7 17:53 b-hzy
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy_2
-rw-r--r--. 1 root root 6 Jul 7 18:02 hzytest
-rw-r--r--. 1 root root 13 Jul 7 18:39 q
-rw-r--r--. 1 root root 13 Jul 7 18:39 q.bak
-rw-r--r--. 1 root root 31 Jul 7 18:36 test
-rw-r--r--. 1 root root 31 Jul 7 18:35 test.bak
file.rename
重命名文件或目录
[root@master ~]# salt '*' file.rename /root/q /root/qw
minion:
True
[root@master ~]# salt '*' cmd.run 'ls -l /root/'
minion:
total 36
drwxr-xr-x. 2 root root 6 Jul 7 18:06 abc
-rw-------. 1 root root 1092 Jun 10 21:21 anaconda-ks.cfg
-rw-r--r--. 1 root root 6 Jul 7 17:53 b-hzy
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy_2
-rw-r--r--. 1 root root 6 Jul 7 18:02 hzytest
-rw-r--r--. 1 root root 13 Jul 7 18:39 q.bak
-rw-r--r--. 1 root root 13 Jul 7 18:39 qw
-rw-r--r--. 1 root root 31 Jul 7 18:36 test
-rw-r--r--. 1 root root 31 Jul 7 18:35 test.bak
file.set_mode
给指定文件设置权限
[root@master ~]# salt '*' cmd.run 'ls -l /root'
minion:
total 36
drwxr-xr-x. 2 root root 6 Jul 7 18:06 abc
-rw-------. 1 root root 1092 Jun 10 21:21 anaconda-ks.cfg
-rw-r--r--. 1 root root 6 Jul 7 17:53 b-hzy
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy_2
-rw-r--r--. 1 root root 6 Jul 7 18:02 hzytest
-rw-r--r--. 1 root root 13 Jul 7 18:39 q.bak
-rw-r--r--. 1 root root 13 Jul 7 18:39 qw
-rw-r--r--. 1 root root 31 Jul 7 18:36 test
-rw-r--r--. 1 root root 31 Jul 7 18:35 test.bak
[root@master ~]# salt '*' file.set_mode /root/qw 0400
minion:
0400
file.symlink
给指定的文件创建软链接
[root@master ~]# salt '*' cmd.run 'ls -l /root/'
minion:
total 36
drwxr-xr-x. 2 root root 6 Jul 7 18:06 abc
-rw-------. 1 root root 1092 Jun 10 21:21 anaconda-ks.cfg
-rw-r--r--. 1 root root 6 Jul 7 17:53 b-hzy
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy_2
-rw-r--r--. 1 root root 6 Jul 7 18:02 hzytest
-rw-r--r--. 1 root root 13 Jul 7 18:39 q.bak
-r--------. 1 root root 13 Jul 7 18:39 qw
-rw-r--r--. 1 root root 31 Jul 7 18:36 test
-rw-r--r--. 1 root root 31 Jul 7 18:35 test.bak
[root@master ~]# salt '*' file.symlink /root/qw /opt/qwa
minion:
True
[root@master ~]# salt '*' cmd.run 'ls -l /root;ls -l /opt/'
minion:
total 36
drwxr-xr-x. 2 root root 6 Jul 7 18:06 abc
-rw-------. 1 root root 1092 Jun 10 21:21 anaconda-ks.cfg
-rw-r--r--. 1 root root 6 Jul 7 17:53 b-hzy
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy
-rw-r--r--. 1 root root 6 Jul 7 17:53 hzy_2
-rw-r--r--. 1 root root 6 Jul 7 18:02 hzytest
-rw-r--r--. 1 root root 13 Jul 7 18:39 q.bak
-r--------. 1 root root 13 Jul 7 18:39 qw
-rw-r--r--. 1 root root 31 Jul 7 18:36 test
-rw-r--r--. 1 root root 31 Jul 7 18:35 test.bak
total 0
drwxr-xr-x. 2 root root 6 Jul 7 18:06 abc
-rw-r--r--. 1 root root 0 Jul 7 18:24 asd2
lrwxrwxrwx. 1 root root 8 Jul 7 18:44 qwa -> /root/qw
file.touch
创建空文件或更新时间戳
[root@master ~]# salt '*' file.touch /opt/cc
minion:
True
[root@master ~]# salt '*' file.touch /opt/aa
minion:
True
[root@master ~]# salt '*' cmd.run 'ls -l /opt'
minion:
total 0
-rw-r--r--. 1 root root 0 Jul 7 18:45 aa
drwxr-xr-x. 2 root root 6 Jul 7 18:06 abc
-rw-r--r--. 1 root root 0 Jul 7 18:24 asd2
-rw-r--r--. 1 root root 0 Jul 7 18:45 cc
lrwxrwxrwx. 1 root root 8 Jul 7 18:44 qwa -> /root/qw
file.uid_to_user
将指定的 uid 转换成用户名显示出来
[root@master ~]# salt '*' file.uid_to_user 0
minion:
root
[root@master ~]# salt '*' file.uid_to_user 1000
minion:
1000
[root@master ~]# salt '*' file.uid_to_user 650
minion:
tom
file.user_to_uid
将指定的用户转换成 uid 并显示出来
[root@master ~]# salt '*' file.user_to_uid tom
minion:
650
[root@master ~]# salt '*' file.user_to_uid root
minion:
0
file.write
往一个指定的文件里覆盖写入指定内容
[root@master ~]# salt '*' cmd.run 'cat /root/qw'
minion:
iop
asd
vbn
[root@master ~]# salt '*' file.write /root/qw "d" "f" "g"
minion:
Wrote 3 lines to "/root/qw"
[root@master ~]# salt '*' cmd.run 'cat /root/qw'
minion:
d
f
g
为了连接到 MySQL,需要在 /etc/salt/minion 中的相关 minion 中进行一些配置。一些示例配置可能如下所示:
mysql.host: 'localhost'
mysql.port: 3306
mysql.user: 'root'
mysql.pass: ''
mysql.db: 'mysql'
mysql.unix_socket: '/tmp/mysql.sock'
mysql.charset: 'utf8'
[root@master ~]# salt '*' pkg.install mysql
minion:
----------
mariadb-connector-c-config:
----------
new:
3.1.11-2.el8_3
old:
mysql:
----------
new:
8.0.21-1.module_el8.4.0+589+11e12751
old:
mysql-common:
----------
new:
8.0.21-1.module_el8.4.0+589+11e12751
失败
[root@master ~]# salt '*' mysql.alter_db testdb charset='latin1'
minion:
'mysql' __virtual__ returned False: No python mysql client installed.
ERROR: Minions returned with non-zero exit code
[root@master ~]# vim /etc/salt/minion
[root@master ~]# salt '*' mysql.db_check dbname
minion:
'mysql' __virtual__ returned False: No python mysql client installed.
ERROR: Minions returned with non-zero exit code
lvs也失败
以上是关于SaltStack常用模块之file和mysqllvs的主要内容,如果未能解决你的问题,请参考以下文章