作者:三千仇人-奈我何 | 来源:互联网 | 2023-09-24 09:10
ansible:命令应用基础ansible-doc-l;#:模块查看命令ansible-doc-s:#指明模块名称显示模块用法ansible-doc-h:#查看命令帮助语法ansi
ansible:命令应用基础
ansible-doc -l; #:模块查看命令
ansible-doc -s: #指明模块名称显示模块用法
ansible-doc -h: #查看命令帮助
语法ansible [-f forks] [-m module_name] [-a args]
-f forks:启动的并发线程数;
-m module_name:要使用的模块;
-a args:模块特有的参数;
示例:ansible 172.16.100.9 -m command -a ‘date‘
args:
key=value
注意:command模块要执行命令无须为key=value格式,而是直接给出要执行的命令即可;
常用模块:
command : 命令模块,默认模块,用于在远程执行命令;
-a ‘COMMAND‘
ansible -a ‘date‘
user:实现用户账户管理
name=:指明创建的用户的名字
-a ‘name= state={present|absent} system= uid=‘
ansible 172.16.100.9 -m user -a ‘name="user1" state=absent‘
group:创建组
-a ‘name= gid= state= system=‘
ansible 172.16.100.9 -m group -a ‘name=mysql gid=306 system=yes‘
cron :
state:
present:安装
absent:移除
-a ‘name= minute= hour= day= mOnth= weekday= job= user= state=‘
*/10 * * * * /bin/echo "Hello zhanx"
ansible 172.16.100.9 -m cron -a ‘minute="*/10" job="/bin/echo hello" name="test cron job" state="present"‘
copy:文件复制
src=:定义本地源文件路径
dest=:定义远程目标文件路径
cOntent=:取代src=,表示直接用此处指定的信息生成为目标文件内容;
-a ‘dest= src= mode= owner= group=‘
#ansible all -m copy -a ‘src=/etc/fstab dest=/tmp/fstab.ansible owner=root mode=640‘
#ansible all -m copy -a ‘cOntent="Hello Ansible\nHi zhanx" dest=/tmp/test.ansible‘
file:设定文件属性
path=:指明文件路径,可以使用name或dest来替换;
创建文件的符号链接:
src=:指明源文件;
path=:指明符号链接文件路径
-a ‘path= mode= owner= group= state={directory|link|present|absent} src=‘
#ansible all -m file -a ‘path=/tmp/fstab.link src=/tmp/fstab.ansible state=link‘
ping:测试指定主机是否能连通
没有参数
# absible all -m ping
yum:安装程序包
name=:指明要安装的程序包,可以带上版本号;
state=:present,lastest表示安装,absent表示卸载;
-a ‘name= state={present|latest|absent}‘
#ansible all -m yum -a "name=telnet state=absent"
service:指定服务的运行状态
enabled=: 是否开机自动启动,取值为true或者false;
name=:服务名称
state=:状态,取值有started,stoped,restarted;
-a ‘name= state={started|stopped|restarted} enabled=‘
# ansible 172.16.100.9 -m service -a ‘enabled=true name=httpd state=started‘
shell:在远程主机上运行命令
尤其是用到管道等功能的复杂命令使用
-a ‘COMMAND‘
#ansible all -m shell -a ‘echo zhanx | passwd --stdin user‘
script:将本地脚本复制到远程主机并运行;
注意:基于相对路径
-a ‘/path/to/script‘
#ansible all -m script -a "test.sh"
setup:收集每个远程主机可用的facts
每个被管理节点在接收并运行管理命令之前,会将自己主机相关信息:
如操作系统版本、IP地址等报告给远程的ansible主机;
#ansible all -m setup
Ansible:命令应用基础