标签:nav 过程 false 添加 dir height 后台运行 cal 模块使用
1 ansible <host-pattern> [options]
1 [options]: 2 -v,--verbose:输出更详细的执行过程信息,-vvv可得到执行过程所有信息; 3 -i PATH,--inventory=PATH:指定inventory信息,默认/etc/ansible/hosts; 4 -f NUM,--forks=NUM:并发线程数,默认5个线程; 5 --private-key=PRIVATE_KEY_FILE:指定秘钥文件; 6 -m NAME,--module-name=NAME:指定执行使用的模块。
1 -M DIRECTORY,--module-path=DIRECTORY:指定模块存放路径,默认/usr/share/ansible; 2 -a ‘ARGUMENTS‘,--args=‘ARGUMENTS’"模块参数; 3 -k,--ask-pass SSH:认证密码; 4 -K,ask-sudo=pass sudo:用户的密码(--sudo时使用); 5 -o,--one-line:标准输出至一行; 6 -s,--sudo:相当于Linux系统下的sudo命令; 7 -t DIRECTORY,--tree=DIRECTORY:输出信息至DIRECTORY目录下,结果文件以远程主机命名; 8 -T SECONDS,--timeout=SECONDS:指定连接远程主机的最大超时,单位是秒; 9 -B NUM,--background=NUM:后台执行命令,超NUM秒后中止正在执行的任务; 10 -P NUM,--poll=NUM:定期返回后台任务进度; 11 -u USERNAME,--user=USERNAME:指定远程主机以USERNAME运行命令; 12 -U SUDO_USERNAME,--sudo-user=SUDO_USERNAME:使用sudo,相当于Linux系统下的sudo命令; 13 -c CONNECTION,--connection=CONNECTION:指定连接方式,可用选项paramiko(SSH)、ssh、local,local方式常用于crontab和kickstarts; 14 -l SUBSET,--limit=SUBSET:指定运行主机; 15 -l ~REGEX,--limit=~REGEX:指定运行主机(正则); 16 --list-hosts:列出符合条件的主机列表,不执行任何命令。
1 [root@manage ~]# ansible myhost -f 5 -m ping
1 [root@manage ~]# ansible myhost1 -s -m command -a ‘hostname‘ -vvv
1 [root@manage ~]# ansible myhost --list-hosts
1 [root@manage ~]# time ansible 172.24.8.31 -B 5 -P 2 -T 2 -m command -a ‘sleep 20‘ -u root
1 [root@manage ~]# ansible myhost -a "df -hl"
1 [root@manage ~]# ansible myhost -m shell -a "free -m"
1 ansible-doc [-l|-F|-s] [options] [-t <plugin type> ] [plugin]
1 [root@manage ~]# ansible-doc -l #列出支持的模块 2 [root@manage ~]# ansible-doc yum #查看模块功能说明
1 [root@manage ~]# ansible myhost -m yum -a ‘name=redhat-lsb state=present‘ #安装软件
1 [root@manage ~]# ansible myhost -a ‘lsb_release -a‘
1 [root@manage ~]# ansible myhost -m yum -a ‘name=mariadb,mariadb-server state=present‘ 2 [root@manage ~]# ansible myhost -m service -a ‘name=mariadb state=started enabled=yes‘
1 [root@manage ~]# ansible myhost -m service -a ‘name=ntpd state=started‘ --limit "172.24.8.31"
1 [root@manage ~]# ansible 172.24.8.32 -m command -a "systemctl start ntpd"
1 [root@manage ~]# ansible 172.24.8.31:172.24.8.33 -m command -a "systemctl start ntpd"
1 [root@manage ~]# ansible 172.24.8.3* -m command -a "systemctl stop ntpd"
参数
|
必填
|
默认值
|
选项
|
说明
|
append
|
否
|
No
|
Yes/no
|
yes:增量添加group
no:全量变更group,只设置groups指定的group组
|
comment
|
否
|
|
|
用户的描述信息
|
createhome
|
否
|
yes
|
Yes/no
|
yes:添加用户同时创建家目录;
no:添加用户时不创建家目录;
|
force
|
否
|
No
|
Yes/no
|
强制,结合state=absent使用,
相当于userdel --force
|
generate_ssh_key
|
否
|
No
|
Yes/no
|
是否生成秘钥,不会覆盖已有SSH key
|
group
|
否
|
|
|
可选,设定用户的主组
|
groups
|
否
|
|
|
设置用户附属组,用逗号分隔的组;
当groups设定为空,则会移除除主组外其他所有组
|
home
|
否
|
|
|
可选,设定为用户的home目录
|
login_class
|
否
|
|
|
可选,设定FreeBSD/OpenBSD/NetBSD系统的用户
登陆class
|
name
|
是
|
|
|
用户名
|
move_home
|
否
|
No
|
Yes/no
|
若为yes,则会临时迁移家目录到特定目录
|
non_unique
|
否
|
No
|
Yes/no
|
可选,结合-u使用,允许改变用户ID为非唯一值
|
password
|
否
|
|
|
可选,设定用户的密码(加密后的密码)
|
remove
|
否
|
No
|
Yes/no
|
结合state=absent使用,
相当于userdel --remove
|
seuser
|
否
|
可选,设置seuser类型启用SELinux
|
||
shell
|
否
|
|
|
可选,设定用户的shell
|
skeleton
|
否
|
可选,设置用户skel目录,
需和createhome参数结合使用
|
||
ssh_key_bits
|
否
|
2048
|
|
可选,设定SSH key的加密位数
|
ssh_key_comments
|
否
|
$HOSTHOME
|
|
可选,定义SSH key注释信息
|
ssh_key_file
|
否
|
.sha/id_rsa
|
|
可选,定义SSH key文件名
|
ssh_key_passphrase
|
否
|
|
|
设置SSH key密码,若没有提供,则默认不加密
|
ssh_key_type
|
否
|
Rsa
|
|
可选,指定SSH key类型
|
state
|
否
|
Present
|
Present
Absent
|
present:新增用户
absent:删除用户
|
system
|
否
|
No
|
Yes/no
|
创建为系统账号,不会改变已经存在的用户
|
uid
|
否
|
|
|
可选,设定为用户的uid
|
update_password
|
否
|
Always
|
Always
On_create
|
always:只有当用户密码不同才会更新密码
on_create:只为新用户设置密码
|
1 [root@manage ~]# ansible myhost1 -m user -a "name=dba shell=/bin/bash append=yes groups=adm,mysql home=/home/dba state=present"
1 [root@manage ~]# ansible myhost1 -m user -a "name=dba groups=mysql append=no"
1 [root@manage ~]# pip install passlib #使用pip安装psslib
提示:pip安装参考《001.Pip简介及使用》,passlib对于不同Python版本使用方式略有差异,Python多版本管理参考《Python多环境管理》。
1 [root@manage ~]# python -c "from passlib.hash import sha512_crypt;import getpass;print (sha512_crypt.encrypt(getpass.getpass()))" #使用Python3.x sha512加密算法加密 2 Password: #输入密码x120952576
提示:sha512加密的密码包括特殊元字符,如\n,在传输至远程服务器可能导致密码被转移异常的问题。
1 [root@manage ~]# python -c ‘import crypt;print(crypt.crypt("x120952576","dba"))‘ #使用Python3.x 普通加密算法加密
略
略
略
1 [root@manage ~]# ansible myhost1 -m user -a "name=dba password=dbX.h0rUHw3Kc update_password=always"
1 [root@manage ~]# ansible myhost1 -m user -a "name=dba remove=yes state=absent"
1 [root@manage ~]# ansible myhost2 -m win_user -a "name=dba passwd=x123456 group=Administrator"
1 [root@manage ~]# ansible myhost1 -m mysql_user -a "login_host=localhost login_password=x120952576 login_user=root name=dba password=x123456 priv=mysql.host:ALL state=present"
标签:nav 过程 false 添加 dir height 后台运行 cal 模块使用
原文地址:https://www.cnblogs.com/drizzle-xu/p/10276201.html