ansible學習命令總結1
安裝方式:
1.yum安裝,在epel源中 也可以先用yum search epel / ansible 會顯示出需要安裝的包,之后可以通過先安裝yum install 包名,有了軟件源以后yum install ansible就可以了。
2.pip安裝
首先安裝:
yum -y install python-pip python-devel
再安裝ansible:
pip install ansible
3.源碼包編譯安裝
4.git安裝
yum info ansible
rpm -ql ansible
[root@wangqs ~]# ssh-keygen
[root@wangqs ~]#sshpass -p 123456 ssh-copy-id root@192.168.3.112 -p22
[root@wangqs ~]# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@wangqs ~]# yum makecache
[root@wangqs ~]# yum info ansible
[root@wangqs ~]# yum install ansible
練習 常用模塊
[root@wangqs profile.d]# ansible all -m ping
[root@wangqs ~]# ansible node -m command -a 'ls /root/'
[root@wangqs ~]# ansible all -m shell -a 'echo "wqs1213" | passwd --stdin wangqs' ##command 不支持特殊字符$ < > & 等等
[root@wangqs ~]# ansible master -m command -a 'ls /root/' -u wangqs -k -b -K
默認以當前用戶身份登錄,-u 指定用戶 -k指定輸入ssh密碼 -b切換sudo權限 -K指定輸入sudo密碼
[root@wangqs ~]# ansible all -m scripts -a 'f1.sh'
[root@wangqs ~]# ansible all -m copy -a 'src=/etc/ssh/sshd_config dest=/root/ owner=wangqs mode=600 backup=yes' 拷貝文件到遠端主機 backup沒有生效
[root@wangqs ~]# ansible all -m copy -a "content='hello\nthink\n' dest=/root/song.txt" #利用content直接生成內容寫到遠端主機文件里
[root@wangqs ~]# ansible all -m fetch -a "src=/root/sshd_config dest=/root/ mode=644 backup=yes" 拷貝遠端主機文件到本地
[root@wangqs ~]# ansible all -m file -a "name=/tmp/test1 state=touch " touch創(chuàng)建文件
[root@wangqs ~]# ansible all -m file -a "name=/tmp/test1 state=absent " absent缺席刪除
[root@wangqs ~]# ansible all -m file -a "name=/tmp/dir1 state=directory" directory創(chuàng)建目錄
[root@wangqs ~]# ansible all -m file -a "src=/etc/fstab dest=/tmp/fstab.link state=link" link創(chuàng)建軟連接
[root@wangqs ~]# ansible all -m file -a "name=/tmp/fstab.link state=absent" 刪除軟連接
file模塊中,path的alias=dest和name
[root@wangqs ~]# ansible-doc -l/-s file 查看模塊幫助
[root@node2 ~]# timedatectl 查詢當前時區(qū)
[root@node2 ~]# timedatectl set-timezone Asia/Shanghai 設定時區(qū)
[root@wangqs ~]# ansible all -m hostname -a "name=node2.example.com"
[root@wangqs ~]# ansible all -m cron -a 'minute=*/1 job="/usr/bin/wall Lookup UFO" name=test2'
[root@wangqs ~]# ansible all -m cron -a 'minute=*/1 dow=1,3,5 job="/usr/bin/wall Lookup UFO" name=test'
[root@wangqs ~]# ansible all -m cron -a 'disabled=yes minute=*/1 job="/usr/bin/wall lookufo" name=test'
[root@wangqs ~]# ansible all -m cron -a 'disabled=true minute=*/1 job="/usr/bin/wall lookufo" name=test' #yes no / true false
[root@wangqs ~]# ansible all -m cron -a 'name=test state=absent'
[root@wangqs ~]# ansible all -m shell -a 'crontab -l'
################
ansible all -m yum -a 'name=httpd state=latest' #present默認
ansible all -m yum -a 'name=httpd state=absent'
ansible all -m yum -a 'name=httpd update_cache=yes'
###################
ansible all -m service -a 'name=httpd state=stoped'
ansible all -m service -a 'name=httpd state=started'
ansible all -m service -a 'name=httpd state=reloaded'
ansible all -m service -a 'name=httpd state=restarted'
###################
ansible all -m user -a 'name=user1 comment="test user" uid=2048 home=/app/user1 group=root'
ansible all -m user -a 'name=sysuser1 system=yes home=/app/sysuser1 shell=/sbin/nologin'
ansible all -m user -a 'name=user1 state=absent remove=yes' #刪除用戶及家目錄
ansible all -m group -a 'name=testgroup system=yes'
ansible all -m group -a 'name=testgroup state=absent'
###################
ansible-galaxy
連接https://galaxy.ansible.com下載相應的roles
ansible-galaxy list 列出所有已安裝的galaxy
安裝galaxy
ansible-galaxy install geerlingguy.redis #cp復制角色可成為自己用的新角色
刪除galaxy
ansible-galaxy remove geerlinggry.redis
#########ansible-valut playbook加密解密用法
[root@wangqs ansible]#ansible-vault encrypt hello.yml
[root@wangqs ansible]#ansible-vault dencrypt hello.yml
[root@wangqs ansible]#ansible-vault view hello.yml
[root@wangqs ansible]#ansible-vault edit hello.yml
[root@wangqs ansible]#ansible-vault rekey hello.yml
[root@wangqs ansible]#ansible-vault create hello2.yml
#####ansible-console用法######
2.0+新增,可交互執(zhí)行命令,支持tab。
[root@wangqs ~]# ansible-console
Welcome to the ansible console.
Type help or ? to list commands.
root@all (3)[f:5]$ cd master ###root代表哪個用戶 all代表主機清單 3代表主機清單里多少臺主機,f:5并發(fā)。
root@master (1)[f:5]$ command hostname
192.168.3.111 | CHANGED | rc=0 >>
master.example.com
root@master (1)[f:5]$ list 列出主機列表
root@master (1)[f:5]$ cd websrvs 切換主機組
root@master (1)[f:5]$ yum name=httpd state=present
root@master (1)[f:5]$ service name=httpd state=started
?或者help
設置并發(fā)數(shù):forks number # forks 10

浙公網(wǎng)安備 33010602011771號