應用
管理遠程主機中的計划任務
參數
- name:指定任務名稱,可以根據任務名稱修改或刪除對應的任務;搭配state使用
- state:absent表示刪除對應的任務
- minute:指定分鍾,minute=1|1,2,3|/1|;默認是
- hour:指定小時
- day:指定日
- month:指定月
- weekday:指定周幾
- special_time:reboot|yearly|monthly|weekly|daily|hourly,都未指定時表示每分鍾執行
- user:指定計划任務屬於哪個用戶,默認管理員用戶
- disabled:注釋計划任務,使其失效;但是一定要寫全原任務的name,minute,hour,month,weekday,job,如果不一樣,則是修改原計划任務內容
- backup:backup=yes表示修改或刪除對應計划任務時,會先進行備份,備份路徑/tmp/crontab+隨機字符
示例
- 添加一條計划任務,任務名稱"bak cron",任務於每周六、周日的凌晨1:10分執行,任務內容將/tmp/test.tar.xz解壓到/opt目錄下
]# ansible all –m cron –a 'name="bak cron" minute=10 hour=1 job="tar -Jxf /tmp/test.tar.xz -C /opt" &>/opt/bak_cron.log'
- 添加一條計划任務,任務名稱start ngx,任務將在重啟時執行,任務內容是重啟nginx(路徑:/opt/nginx/sbin/nginx)
]# ansible all -m cron -a 'name="start ngx" special_time=reboot job="/opt/nginx/sbin/nginx"'
- 將計划任務start ngx刪除,並將原計划任務備份
]# ansible all -m cron -a 'name="start ngx" state=absent backup=yes'
- 將計划任務"bak cron"注釋,同時將原任務執行時間修改為每周一的03:00,原任務內容修改為echo test,並對計划任務備份
]# ansible all -m cron -a 'name="bak cron" minute=0 hour=3 job="echo test" disabled=yes backup=yes'