首页 » PHP教程 » php中写salt技巧_saltstack 运维操作技巧二

php中写salt技巧_saltstack 运维操作技巧二

访客 2024-11-07 0

扫一扫用手机浏览

文章目录 [+]

一:saltstack管理六之数据同步办法和常用命令

办法一:

php中写salt技巧_saltstack 运维操作技巧二

minion自动向master进行数据同步:

php中写salt技巧_saltstack 运维操作技巧二
(图片来自网络侵删)

默认是60秒自动同步一次数据

自动同步韶光间隔由参数loop_interval来决定(minion端)

[root@scj salt]# grep loop_interval /etc/salt/minion

# The loop_interval sets how long in seconds the minion will wait between

#loop_interval: 60

如果我们想让minion永久不要自动同步,可以把这个参数值改大一点

loop_interval: 3153600000 (设置100年同步一次)

办法二:

master端通过实行命令进行数据同步:

检测配置是否精确,并没有真正的推送数据:

salt '' state.highstate -v test=true

salt '' state.highstate -v test=True

把稳:远程实行命令时 -v test=true 参数是不起浸染的

salt "" cmd.run "yum -y install man" -v test=true (minion机仍旧会安装man软件包,远程实行命令时没有必要检测)

向所有minion推送所有数据:

salt '' state.highstate

向某一台minion推送所有数据:

salt '192.168.186.129' state.highstate

向某一个分组推送所有数据:

salt -N 'BJwebgroup' state.highstate

向所有minion只推送web这个模块目录的数据

salt '' state.sls web

把稳:

[root@scj salt]# cat top.sls

base:

'BJwebgroup':

- match: nodegroup

- web

向所有minion只推送web模块下面的httpd.sls文件:

salt '' state.sls web.httpd

把稳:

[root@scj web]# pwd

/srv/salt/web

[root@scj web]# ls

files httpd.sls init.sls

向所有minion只推送web模块下面php目录下面的conf.sls文件:

salt '' state.sls web.php.conf

把稳:

[root@scj php]# pwd

/srv/salt/web/php

[root@scj php]# ls

conf.sls

向所有minion直接实行某个命令:

salt "" cmd.run "yum -y install man"

附加:

salt常用命令:

salt '' grains.ls 查看grains所有分类

salt '' grains.items 查看grains所有信息

salt '' grains.item os 查看grains某个分类信息

salt '' pillar.items 查看pillar所有信息

salt '' pillar.item users 查看pillar某个信息

[root@scj salt]# salt '' grains.item os

192.168.186.129:

----------

os:

CentOS

[root@scj salt]# salt '' grains.item fqdn

192.168.186.129:

----------

fqdn:

scj.51.com

[root@scj salt]# salt '' grains.item host

192.168.186.129:

----------

host:

scj

salt '匹配正则' state.highstate 匹配正则

[root@scj salt]# salt '' state.highstate

salt -N 'GroupName' state.highstate 指定某个组

[root@scj salt]#salt -N 'BJwebgroup' state.highstate

salt -L 'minion1,minion2,minion3' state.highstate 指定多个minion

[root@scj salt]# salt -L '192.168.186.129,192.168.186.128' state.sls web.php.conf

salt -G 'os:CentOS' test.ping 指定操作系统是CentOS的所有minion

salt-cp "" /root/file1 /tmp/ (远程复制:将master机上 /root/file1 复制到minion机的 /tmp/ 目录下)

salt '' cmd.script /usr/local/script/iptables.sh (实行某个脚本,这个脚本在master机上)

salt '' cmd.run 'hostname' (对minion机远程实行某个命令)

[root@dbm133 ~]# salt '' cp.get_file salt://web/httpd/httpd.sls /tmp/httpd.sls

[root@dbm133 ~]# salt '' cp.get_dir salt://web/httpd /tmp/ ##把httpd目录拷贝到/tmp下

cp.get_file可以用来在minion端下载master上的文件。

salt '' cp.get_file salt://vimrc /etc/vimrc

这个会关照所有的minion客户端来下载vimrc文件到/etc/vimrc

salt '' cp.get_file "salt://`grains`.`os`/vimrc" /etc/vimrc template=jinja

也可以用模版,表示只在OS系统名称一样的机器高下载文件

salt '' cp.get_file salt://vimrc /etc/vimrc gzip=5

salt在传输大文件时还支持压缩:压缩比率是1-9

salt '' cp.get_file salt://vimrc /etc/vim/vimrc makedirs=True

cp.get_file默认是不会创建目的真个目录的,如果该目录不存在的时候。
要改变这种情形可以利用mkaedirs参数

salt '' cp.get_dir salt://etc/apache2 /etc

salt '' cp.get_dir salt://etc/`pillar`.`webserver` /etc gzip=5 template=jinja

cp.get_dir和cp.get_file一样,不过get_dir是用来下载全体目录的,也支持模版和压缩

把稳:利用cp.get_file从master拷贝文件到客户端,利用cp.get_dir拷贝目录到客户端

拷贝的文件或目录必须在salt配置的根目录下,即:/srv/salt

把文件拷到客户端/tmp目录下,必须写成/tmp/httpd.sls,完全路径文件

标签:

相关文章

语言游戏聚会的魅力,跨界交流的盛宴

在繁忙的都市生活中,一场别开生面的语言游戏聚会悄然兴起。这不仅是一场简单的娱乐活动,更是一次跨界交流的盛宴,一场思想的碰撞与火花。...

PHP教程 2024-12-29 阅读0 评论0

语言序列逻辑在现代传播中的运用与影响

语言序列逻辑,作为现代传播学中的重要理论之一,对于理解语言传播的规律、提高传播效果具有重要作用。在信息化、网络化时代,语言序列逻辑...

PHP教程 2024-12-29 阅读0 评论0