首頁>技術>

name引數: 計劃任務名稱

job引數:指定計劃的任務中需要實際執行的命令或者指令碼

user引數:指定計劃任務屬於哪個使用者,預設是root使用者

disabled引數: 當計劃任務有名稱時,根據計劃任務名稱關閉(註釋)對應的計劃任務

minute引數:設定計劃任務中分鐘設定位的值,取值範圍(0-59,*, */2)

hour引數:設定計劃任務中小時設定位的值,取值範圍(0-23,*,*/2)

day引數:設定計劃任務中天(日)設定位的值,取值範圍(1-31,*,*/2)

month引數:設定計劃任務中月份設定位的值,取值範圍(1-12,*,*/2)

weekday引數:設定計劃任務中周幾設定位的值,取值範圍(0-6 for Sunday-Saturday, *)

例1:建立名稱為ntpdate的計劃任務,每天凌晨1點5分同步時間

[root@localhost ~]# ansible 192.168.233.167 -m cron -a "name='ntpdate' minute=5 hour=1 job='ntpdate ntp.aliyun.com'"192.168.233.167 | CHANGED => {    "ansible_facts": {        "discovered_interpreter_python": "/usr/bin/python"    },     "changed": true,     "envs": [],     "jobs": [        "ntpdate"    ]}

檢視一下新增後效果

[root@localhost ~]# ansible 192.168.233.167 -m shell -a "crontab -l"192.168.233.167 | CHANGED | rc=0 >>#Ansible: ntpdate5 1 * * * ntpdate ntp.aliyun.com

已經新增成功

例2:把剛才建立的計劃給關閉掉

[root@localhost ~]# ansible 192.168.233.167 -m cron -a "name='ntpdate' minute=5 hour=1 job='ntpdate ntp.aliyun.com' disabled=yes"192.168.233.167 | CHANGED => {    "ansible_facts": {        "discovered_interpreter_python": "/usr/bin/python"    },     "changed": true,     "envs": [],     "jobs": [        "ntpdate"    ]}

檢視一下結果

[root@localhost ~]# ansible 192.168.233.167 -m shell -a "crontab -l"192.168.233.167 | CHANGED | rc=0 >>#Ansible: ntpdate#5 1 * * * ntpdate ntp.aliyun.com

已經被註釋掉了

注意:如果使用disabled引數沒有設定時間引數,或時間引數設定錯誤時,計劃任務會被註釋掉的同時,時間也會被修改,如下:

[root@localhost ~]# ansible 192.168.233.167 -m shell -a "crontab -l"192.168.233.167 | CHANGED | rc=0 >>#Ansible: ntpdate#* * * * * ntpdate ntp.aliyun.com

可以看到,時間全部變為 "*"了

[root@localhost ~]# ansible 192.168.233.167 -m cron -a "name='ntpdate' state=absent backup=yes"192.168.233.167 | CHANGED => {    "ansible_facts": {        "discovered_interpreter_python": "/usr/bin/python"    },     "backup_file": "/tmp/crontabRvJZBw",     "changed": true,     "envs": [],     "jobs": []}

顯示已經把名稱為"ntpdate"的計劃任務儲存到/tmp/crontabRvJZBw

我們先用 "crontab -l" 檢視一下計劃任務

[root@localhost ~]# ansible 192.168.233.167 -m shell -a "crontab -l"192.168.233.167 | CHANGED | rc=0 >>

顯示為空,說明計劃任務已經被刪除了。

我們再看一下備份檔案

[root@localhost ~]# ansible 192.168.233.167 -m shell -a "cat /tmp/crontabRvJZBw"192.168.233.167 | CHANGED | rc=0 >>#Ansible: ntpdate5 1 * * * ntpdate ntp.aliyun.com

確實是我們在例1中建立的計劃任務

還有一個引數這裡提一下special_time引數

special_time引數

計劃任務的時間設定格式為@reboot或者@hourly,@reboot表示重啟時執行,@hourly表示每小時執行一次,相當於設定成"0 * * * *" ,這種@開頭的時間設定格式則需要使用special_time引數進行設定.

special_time引數的可用值有:

reboot 重啟後

yearly 每年

annually 每年,與yearly相同

monthly 每月

weekly 每週

daily 每天

hourly 每時

8
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Java,NIO,三大核心原理,Buffer緩衝區