Saltstack常用模块

Salt强大之处就是拥有众多模块,这些模块极大提高了我们的工作效率,而且还不断开发新的模块,这里就先列举一些常用模块的基本的应用。

更多的模块和使用方法请参考官网:
https://docs.saltstack.com/en/latest/ref/modules/all/

cmd模块(实现远程的命令行调用执行类似于ansible的shell模块)

# salt '*' cmd.run 'w'
node23.com:
     19:07:18 up 12:27,  2 users,  load average: 0.00, 0.02, 0.00
    USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
    root     tty1     -                10:26    8:29m  0.08s  0.08s -bash
    root     pts/2    192.168.0.113    18:18    1.00s  0.45s  0.37s /usr/bin/python
node24.com:
     02:51:02 up  8:40,  3 users,  load average: 0.00, 0.03, 0.00
    USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
    root     tty1     :0               18:12    8:40m  5.15s  5.15s /usr/bin/Xorg :
    root     pts/0    :0.0             18:13    8:28m  0.03s  0.03s /bin/bash
    root     pts/2    192.168.0.113    00:23    1:06m  0.08s  0.08s -bash

cron模块(实现被控主机的crontab操作)

添加计划任务

#  salt 'node24.com' cron.set_job root '*' '*/2' '*' '*' '*' '/usr/bin/curl http://www.baidu.com >/dev/null 2>&1'                                         
node24.com:
    new

查看计划任务

#  salt 'node24.com' cron.raw_cron root       
node24.com:
    # Lines below here are managed by Salt, do not edit
    * */2 * * * /usr/bin/curl http://www.baidu.com >/dev/null 2>&1

删除计划任务

# salt 'node24.com' cron.rm_job root '/usr/bin/curl http://www.baidu.com >/dev/null 2>&1'  
node24.com:
    removed

file模块(文件操作模块)

追加文件内容

# salt 'node24.com' file.append /tmp/log.txt \
> "test zhui jia wen jian nei rong" \
> "jiu zhe yang ba"
node24.com:
    Wrote 2 lines to "/tmp/log.txt"

复制文件

salt 'node24.com' file.copy /root/gitinstall.sh /tmp/gitinstall.sh
node24.com:
    True

找到tpm目录下大于0k且以sh结尾的文件

# salt 'node24.com' file.find /tmp type=f name=\*.sh size=+0k  
node24.com:
    - /tmp/gitinstall.sh

删除tpm目录下大于0k且以sh结尾的文件

# salt 'node24.com' file.find /tmp type=f name=\*.sh size=+0k delete
node24.com:
    - /tmp/gitinstall.sh

其他方法:
file.mkdir 创建目录
file.managed 保证文件存在且为对应状态
file.recuse 保证目录存在且位对应状态
file.absent 保证文件不存在,如果存在就删除

pkg包管理模块

安装软件

# salt 'node24.com' pkg.install vim  
node24.com:
    ----------

其他方法:
pkg.installed 安装软件,如果目标就开启没有就进行安装
pkg.latest 安装最新版本如果不是最新的就进行升级
pkg.remove 卸载
pkg.purge 删除配置文件

service 服务模块

开机启动

# salt 'node24.com' service.enable httpd     
node24.com:
    True

status模块(返回minion状态信息)

返回内存信息

salt 'node24.com' status.meminfo 
posted @ 2016-05-31 23:29  西红柿圆  阅读(387)  评论(0编辑  收藏  举报