crontab 設定指令碼自動執行命令

2021-06-28 06:14:26 字數 1261 閱讀 6059

使用crontab你可以在指定的時間執行乙個shell指令碼或者一系列linux命令。例如系統管理員安排乙個備份任務使其每天都執行

如何往 cron 中新增乙個作業?

# crontab –e

0 5 * * * /root/bin/backup.sh

這將會在每天早上5點執行 /root/bin/backup.sh

cron 各項的描述

以下是 crontab 檔案的格式:

o minute: 區間為 0 – 59 

o hour: 區間為0 – 23 

o day-of-month: 區間為0 – 31 

o month: 區間為1 – 12. 1 是1月. 12是12月. 

o day-of-week: 區間為0 – 7. 週日可以是0或7.

crontab 示例

1. 在 12:01 a.m 執行,即每天凌晨過一分鐘。這是乙個恰當的進行備份的時間,因為此時系統負載不大。

1 0 * * * /root/bin/backup.sh

2. 每個工作日(mon – fri) 11:59 p.m 都進行備份作業。

59 11 * * 1,2,3,4,5 /root/bin/backup.sh

下面例子與上面的例子效果一樣:

59 11 * * 1-5 /root/bin/backup.sh

3. 每5分鐘執行一次命令

*/5 * * * * /root/bin/check-status.sh

4. 每個月的第一天 1:10 p.m 執行

10 13 1 * * /root/bin/full-backup.sh

5. 每個工作日 11 p.m 執行。

0 23 * * 1-5 /root/bin/incremental-backup.sh

crontab 選項

以下是 crontab 的有效選項:

o crontab –e : 修改 crontab 檔案. 如果檔案不存在會自動建立。 

o crontab –l : 顯示 crontab 檔案。 

o crontab -r : 刪除 crontab 檔案。

o crontab -ir : 刪除 crontab 檔案前提醒使用者。

以上就是crontab命令的具體使用方法了。

自己寫乙個指令碼試試就可以了,比如乙個簡單的複製備份指令碼

#!/usr/bin/env bash

cp -a /usr/local/hadoop /home/hadoop/hadoop

Linux下crontab,指令碼自動執行

為了進行指令碼的自動執行,看了下crontab的用法。任務排程的crond常駐命令 crond 是linux用來定期執行程式的命令。當安裝完成作業系統之後,預設便會啟動此任務排程命令。crond命令每分鐘會定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作。而linux任務排程的工作主...

crontab執行指令碼出錯

最近經常碰到關於crontab不能執行的,初步總結了有以下幾個原因 第一,指令碼的原因 大多數情況下,是我們的指令碼的問題,這種問題導致crontab不能執行的概率佔到70 以上。因為程式執行到某一步導致crontab終止執行,如,資料庫訪問出錯等。第二,執行環境問題,當我們碰到第一情況下,一般都可...

crontab 中指令碼不執行

在集群上,crontab e新增了乙個指令碼run.sh每天自動執行,但到其中的qsub run.job,不能自動提交pbs。手動執行run.sh,可以提交指令碼並成功執行。在指令碼中新增所有要用到的環境變數路徑等,source ww3.env 環境變數檔案 參考 crontab有乙個壞毛病,就是它...