Ansible 常用命令(ad-hoc 命令)

Ansible提供兩種方式去完成任務,一是 ad-hoc 命令,一是寫 Ansible playbook.前者可以解決一些簡單的任務, 后者解決較復雜的任務.(ad-hoc 命令和 ansible playbook 的關系類似于在命令行敲入shell命令和 寫shell scripts兩者之間的關系)

ansible命令應用基礎

語法:  ansible <host-pattern> [-f forks] [-m module_name] [-a args]
        -f forks:啟動的并發線程數;
        -m module_name: 要使用的模塊;
        -a args: 模塊特有的參數;

# 以指定用戶名運行
ansible atlanta -a "/usr/bin/foo" -u username
# 以sudo 運行
ansible atlanta -a "/usr/bin/foo" -u username --sudo [--ask-sudo-pass]

常用命令

  • ping模塊
ansible all -m ping
  • service 模塊
ansible webservs -m service -a 'enabled=true name=httpd state=started'
  • command: 命令模塊
ansible 192.168.1.101 -m command -a 'date'
  • shell:用到管道復雜命令功能時建議用shell
ansible all -m shell -a 'echo 123..com | passwd --stdin user1'
  • script:在遠程主機執行腳本
ansible all -m script -a "/tmp/a.sh"
  • yum:安裝程序包 卸載的話 state=absent
ansible all -m yum -a "name=zsh"
  • file: 更改文件的屬主、group
ansible all -m file -a 'owner=mysql group=mysql mode=644 path=/tmp/fstab.ansible'
  • copy:
    src=: 定義本地源文件路徑
    dest=: 定義遠程目標文件路徑
    content=: 取代src=,表示直接用此處指定的信息生成為目標文件
ansible all -m copy -a 'src=/etc/fstab dest=/tmp/fstab.ansible owner=root mode=640'
  • user: 創建用戶, 刪除用戶后面跟上 state=absent
ansible all -m user -a 'name="user1"' 
  • cron模塊: 讓被管理節點生成定期自動運維計劃
# 讓2臺主機每10分鐘運行一次echo hell
ansible webservs -m cron -a 'minute="*/10" job="/bin/echo hell" name="test cron job"'
  • git 模塊: 使用 git 部署 webapp
ansible webservers -m git -a "repo=git://foo.example.org/repo.git dest=/srv/myapp version=HEAD"
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容