标签:新建 安装软件包 复杂 vpd 系统管 hello 文件 来替 dba
Ansible Ad-Hoc常用命令Ansible可以通过命令行形式使用它的模块,Ansible自带了很多模块,可以直接使用这些模块。目前Ansible已经自带了259个模块,可以通过ansible-doc -l 显示所有自带的模块,也可以通过ansible-doc -s 模块名 查看模块的介绍及使用示例。
ansible <host-pattern> [-m modult_name] [-a agrs]
基本语法说明:
<host-pattern> :主机
[-m modult_name] :模块名
[-a agrs]:模块的参数
ansible-doc -l
ansible-doc -s yum
Ansible管理工具使用-m选项来指定使用模块,默认使用command模块,即-m选项省略时会运行此选项,用于在被管理节点上运行命令
ansible all -m ping
ansible webserver -m command -a ‘date‘
Ansible中的cron模块用于定义计划性任务。其中有两种状态(state):present表示添加(省略状态时默认使用),absent表示移除
ansible webserver -m cron -a ‘minute="*/10" job="/usr/bin/echo hello" name="test cron job"‘
ansible webserver -a ‘crontab -l‘
ansible webserver -m cron -a ‘minute="*/10" job="/usr/bin/echo hello" name="test cron job" state=absent‘
Ansible中的user模块用于创建新用户和更改、删除已存在的用户。
ansible webserver -m user -a ‘name="user1"‘
ansible webserver -m user -a ‘name="user1" state=absent‘
Ansible中的group模块用于对用户组进行管理
ansible webserver -m group -a ‘name=mysql gid=306 system=yes‘
ansible webserver -m user -a ‘name=user2 uid=306 system=yes group=mysql‘
Ansible中的copy模块用于实现文件复制和批量下发文件,其中使用src定义本地源文件路径,dest定义被管理主机文件路径,使用content则是通过指定信息内容来生成目标文件
ansible webserver -m copy -a ‘src=/etc/fstab dest=/tmp/fstab.txt owner=root mode=600‘
ansible webserver -a ‘cat /tmp/fstab.txt‘
在Ansible中使用file模块来设置文件属性,其中path指定文件路径,src指定源文件路径,使用name和dest来替换创建文件的符号链接
ansible webserver -m file -a ‘owner=mysql group=mysql mode=644 path=/tmp/fstab.txt‘
ansible webserver -m file -a ‘path=/tmp/fstab.link src=/tmp/fstab.txt state=link‘
ansible webserver -m file -a ‘path=/tmp/test1.txt state=touch‘
Ansible中使用ping模块来检测指定主机的连通性
ansible all -m ping
Ansible中的shell模块可以在被管理节点上运行命令,并支持像管道符等功能的复杂命令。
ansible webserver -m user -a ‘name=user3‘
ansible webserver -m shell -a ‘echo abc123|passwd --stdin user3‘
Ansible中的script模块可以将本地脚本文件复制到被管理节点上进行运行(需使用相对路径来指定脚本)。
Ansible中的yum模块负责在被管理节点上安装与卸载软件包,但是需要提前在每个节点配置自己的yum仓库。其中name指定要安装的软件包名(可以指定版本号,不指定则安装最新版),state指定安装软件包的状态,present表示安装,absent表示卸载。
ansible webserver -m yum -a ‘name=httpd‘
rpm -q httpd
ansible webserver -m yum -a ‘name=httpd state=absent‘
在Ansible中使用service模块来控制管理服务的运行状态,其中enabled表示是否开启自启动(true或false),name定义服务名称,state指定服务状态(started、stoped、restarted)。
ansible webserver -m service -a ‘enable=true name=httpd state=started‘
ansible webserver -a ‘service httpd status‘
标签:新建 安装软件包 复杂 vpd 系统管 hello 文件 来替 dba
原文地址:http://blog.51cto.com/10316297/2153160