自动化运维管理工Ansible安装与配置(2)

ansible webserver -m cron -a 'hour="23" job="/bin/echo heihei"'    //每天23点执行,若想每隔23个小时执行需要改成hour="*/23"
ansible webserver -m cron -a 'weekday="6" job="/bin/echo heihei"'

ansible-doc -s cron  //结合查看详细用法

ansible webserver -a 'crontab -l'
ansible webserver -m cron -a 'name="test cron job" state=absent' //移除计划任务,假如该计划任务没有取名字,name=None即可

3.3、user模块

用于创建新用户,更改删除已存在用户,name选项用于指定用户名称。

user模块是请求的是useradd, userdel, usermod三个指令

可指定新建用户的uid,group所属组

ansible webserver -m user -a 'name="test1"'
ansible webserver -m user -a 'name="test2" shell=/sbin/nologin' //添加用户指定shell登录方式
ansible webserver -m command -a 'tail /etc/passwd' //查看用户
ansible webserver -m user -a 'name="test1" state=absent' //删除用户test01

3.4、group模块

针对用户的组进行管理,请求groupadd、groupdel、groupmod三个指令

ansible-doc -s group //查看group模块帮助文档
ansible mysql -m group -a 'name=mysql gid=306 system=yes' //创建mysql组,指定gid,设置为系统组
ansible mysql -a 'tail /etc/group'
ansible mysql -m user -a 'name=test01 uid=306 system=yes group=mysql' //使用user模块添加用户,并添加到mysql组
ansible mysql -a 'tail /etc/passwd'
ansible mysql -a 'id test01'

3.5、copy模块

用于实现文件复制和批量文件下发,src用来定义文件源路径,dest定义被管理主机的文件路径,owner指定属主,group指定属组,mode指定文件权限。

ansible-doc -s copy
ansible mysql -m copy -a 'dest=/opt/123.txt content="heihei" owner=test01 group=test01 mode=600' //新建文件且指定内容
ansible mysql -a 'ls -l /opt'
ansible mysql -m copy -a 'src=/etc/fstab dest=/opt/fstab.back owner=root mode=640' //复制文件

3.6、file模块

在ansible中使用file模块来设置文件属性,其中使用path指定文件路径,使用src定义源文件路径,使用name或者dest来替换创建文件的软链接。

ansible-doc -s file
ansible mysql -m file -a 'owner=root group=root mode=755 path=/opt/123.txt' //更改文件的属主属组
ansible mysql -m file -a 'src=/opt/123.txt dest=/opt/123.txt.bk state=link' //创建软连接
ansible mysql -m file -a 'path=/opt/test.txt state=touch' //新建一个空文件,若需要指定内容需要copy模块,content指定内容

3.7、ping模块

在ansible中使用ping模块来检测指定主机的连通性。

ansible all -m ping

3.8、yum模块

负责在被管理的主机上安装与卸载软件包,但是需要前提在每个节点配置自己的yum仓库,其中name指定软件包名称,state=absent为选择卸载软件包。

ansible-doc -s yum
ansible mysql -m yum -a 'name=httpd'
ansible mysql -m yum -a 'name=httpd state=absent'
ansible mysql -m command -a 'rpm -q httpd'

3.9、service模块

控制服务的运行状态,enabled表示打开开机自启动,取值为true或者false,使用name定义服务名称,使用state指定服务状态,取值为started、stopped、restarted.(此处注意很多参数后有ed,注意stopped)

ansible-doc -s service
ansible mysql -m service -a 'name=httpd enabled=true state=started' //设置httpd开启自启动,且状态为开启
ansible mysql -m command -a 'systemctl status httpd'

3.10、shell模块

用于创建用户无交互模式给用户设置密码。

ansible-doc -s shell
ansible mysql -m shell -a 'echo abc123 | passwd --stdin test' //为test用户创建面交互式密码

3.11、script模块

可以将本地脚本复制到被管理主机上进行运行,需要注意的是,使用相对路径指定脚本!!!

ansible-doc -s script
vi test.sh

#!/bin/bash
echo "hello ansible from script"> /opt/script.txt

chmod +x test.sh
ansible mysql -m script -a 'test.sh'

3.12、setup模块

查看被管理主机的facts(facts是ansible采集被管理主机设备信息的一个功能)每个被管理主机在接受并运行管理命令之前,都会将自己的相关信息(操作系统版本IP地址等)发送给控制主机。

ansible-doc -s setup
ansible mysql -m setup

自动化运维管理工Ansible安装与配置

下面关于Ansible的文章您也可能喜欢,不妨参考下:

使用Ansible批量管理远程服务器  https://www.linuxidc.com/Linux/2015-05/118080.htm
在 CentOS 7 中安装并使用自动化工具 Ansible  https://www.linuxidc.com/Linux/2015-10/123801.htm
CentOS 7上搭建Jenkins+Ansible服务  https://www.linuxidc.com/Linux/2016-12/138737.htm
Linux下源码编译安装Ansible及排错记录  https://www.linuxidc.com/Linux/2017-03/141427.htm
Ansible基础—安装与常用模块  https://www.linuxidc.com/Linux/2017-02/140216.htm
Ansible配置及使用  https://www.linuxidc.com/Linux/2017-03/142121.htm
自动化运维工具Ansible使用教程 https://www.linuxidc.com/Linux/2017-12/149671.htm
自动化运维工具之 Ansible 介绍及安装使用  https://www.linuxidc.com/Linux/2016-12/138104.htm
自动化运维之Ansible详解  https://www.linuxidc.com/Linux/2017-03/142191.htm
Ansible入门notify和handlers  https://www.linuxidc.com/Linux/2017-02/140871.htm
CentOS 6.5安装自动化工具Ansible和图形化工具Tower  https://www.linuxidc.com/Linux/2017-03/141422.htm

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/c549fb769d857c0bf0f1f19c5967082a.html