ansible

ansile常用模塊:

一、setup

收集所有信息

ansible all -m setup -a

查看所有主機名

ansible all -m setup -a "filter=ansible_nodename

查看網卡信息

ansible test239 -m setup -a "filter=ansible_ens33

二、copy

        #backup   :  覆蓋備份     y/n
        #content   :  拷貝(是覆蓋,不是追加)
        #dest         :  路徑
        #directory_mode   :  設定權限
        #force       :  強制覆蓋

三、synchronize

compress:開啓壓縮,默認爲開啓
archive:是否採用歸檔模式同步,保證源文件和目標文件屬性一致
checksum:是否效驗
dirs:以非遞歸的方式傳送目錄
links:同步鏈接文件
recursive:是否遞歸yes/no
rsync_opts:使用rsync的參數
copy_links:同步的時候是否複製鏈接
delete:刪除源中沒有但目標存在的文件,使兩邊內容一樣,以推送方爲主
src:源目錄及文件
dest:目標文件及目錄
dest_port:目標接收的端口
rsync_path:服務的路徑,指定rsync在遠程服務器上執行
rsync_remote_user:設置遠程用戶名
–exclude=.log:忽略同步以.log結尾的文件,這個可以自定義忽略什麼格式的文件,或者.txt等等都可以,但是由於這個是rsync命令的參數,所以必須和rsync_opts一起使用,比如rsync_opts=--exclude=.txt這種模式
mode:同步的模式,rsync同步的方式push、pull,默認是推送push,從本機推送給遠程主機,pull表示從遠程主機上拿文件
四、file

        #force   : 強制執行
#group    :設置文件的屬組
        #mode    : 設置文件的權限
      #owner   : 設置文件的屬主
      #path=    : 被管理文件的路徑。別名:'dest','name'
      #recurse   :  遞歸設置指定的文件屬性(僅適用於state =目錄)
#src   :  鏈接到的文件的路徑(僅適用於“state = link”)。將接受絕對的,相對的和不存在的路徑。相對路徑未擴展。
        #absent    :  代表刪除

五、ping

檢查指定節點機器是否還能連通

ansible webserver -m ping

六、group

gid 指創建的組ID信息
name 指創建組名稱信息
state absent 刪除指定的用戶組
= present 創建指定的用戶組
七、user

append : 如果是yes,就是給這個用戶添加一個組
comment:可選擇地設置用戶帳戶的描述(也稱爲“GECOS”)。
createhome :除非設置爲“no”,否則當創建帳戶或主目錄不存在時,將爲用戶創建主目錄。
force : 當與state = absent'一起使用時,行爲與userdel --force'一樣。
generate_ssh_key : 爲yes時,生成祕鑰對。生成密鑰時,只會生成公鑰文件和私鑰文件,和直接使用ssh-keygen指令效果相同,不會生成authorized_keys文件。
group:設置用戶主組,後面跟用戶組名稱
groups:設置多個組,當設置爲'groups='的時候,用戶將從主組以外的所有組移除
home:可以選擇設置用戶的主目錄。
move_home :如果與“home =”一起使用時設置爲“yes”,則嘗試將用戶的主目錄移動到指定的目錄(如果尚未存在)。
name= :創建,刪除或修改用戶的名稱。
non_unique :可選地,當與-u選項一起使用時,該選項允許將用戶ID更改爲非唯一值。
password:(可選)將用戶密碼設置爲此加密值。
remove:當與state = absent'一起使用時,行爲與userdel --remove'一樣。
shell:可選擇地設置用戶的shell。
ssh_key_bits:可選擇指定要創建的SSH密鑰中的位數。
ssh_key_comment:(可選)定義SSH密鑰的註釋。
ssh_key_file :(可選)指定SSH密鑰文件名。
ssh_key_passphrase:設置SSH密鑰的密碼。 如果沒有提供密碼,SSH密鑰將默認沒有密碼。
ssh_key_type:(可選)指定要生成的SSH密鑰的類型。 可用的SSH密鑰類型將取決於目標主機上的實現。
state : 帳戶是否應該存在 當“absent”時,刪除用戶帳戶。
system : 創建帳戶時,將其設置爲“yes”將使用戶成爲系統帳戶。 現有用戶無法更改此設置。
uid : 可選擇地設置用戶的“UID”。
八、shell

chdir 在執行命令前,進入到指定目錄中
creates 判斷指定文件是否存在,如果存在,不執行後面的操作
removes 判斷指定文件是否存在,如果存在,執行後面的操作
free_form 必須要輸入一個合理的命令
九、script

creates:一個文件名,當這個文件存在,則該命令不執行
free_form= :本地腳本路徑
removes : removes:一個文件名,當這個文件不存在,則該命令不執行
十、get_url

dest= : 下載到哪裏(絕對路徑),如果目標是一個目錄,就用服務器上面文件的名稱,如果目標設置了名稱就用目標設置的名稱。
force : 如果yes,dest不是目錄,將每次下載文件,如果內容改變,替換文件。如果否,則只有在目標不存在時纔會下載該文件。
others : [file]模塊接受的所有參數也可以在這裏工作
sha256sum : 如果將SHA-256校驗和傳遞給此參數,目標文件的摘要將在下載後計算,以確保其完整性
url= : HTTP,HTTPS或FTP URL(http | https | ftp)
url_password : 用於HTTP基本認證的密碼。 如果未指定url_username'參數,則不會使用url_password'參數。
url_username : 用於HTTP基本認證的用戶名。 對於允許空密碼的站點,此參數可以不使用`url_password'使用。
十一、yum
安裝

#ansible all -m yum -a "state=present name=lrzsz"

批量安裝

#ansible all -m yum -a "state=latest name=lrzsz,gcc,gcc-c++"

十二、cron

backup #如果yes,那麼在修改之後會進行備份,備份的路徑在backup_file
cron_file #如果指定,請在cron.d中使用此文件,而不是單個用戶的crontab。
day #工作應該運行的月份的第幾天(1-31,/2等)
hour #工作應該運行的小時(0-23, / 2等)
job #執行命令。 如果state =present則爲必需。
minute #工作應該運行一分鐘(0-59,/2等)
month #工作應該運行的一個月(1-12,/2等)
name #crontab條目的說明。
state #present(不存在就添加,存在如果是註釋狀態就取消狀態啓動此定時任務),absent爲刪除定時任務
user #crontab應該修改的具體用戶。
state:狀態,
absent意味刪除
十三、service

設置開機啓動

#ansible all -m service -a "name=httpd enabled=yes

停止服務

ansible all -m service -a "name=httpd state=stopped

啓動服務

ansible all -m service -a "name=sshd state=started"

重啓服務

#ansible all -m service -a "name=httpd state=restarted"

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章