crontab 是一個重要的 Linux 工具,用於調度任務,以便程序和腳本可以在特定時間執行。 在本文中,我將教您如何在 Debian 10 中安排工作並向您展示一些示例。
先決條件
在繼續之前,您需要擁有 root 權限。
安裝 Cron 和 Crontab
在我的 Debian 10 中,默認安裝了 cron。 但是,如果您的機器上沒有安裝它,請以root權限在終端上運行以下幾條命令。
apt-get update
apt-get install cron
要獲取計算機上已安排的 cron 作業列表,請在終端上執行以下操作。
crontab -l
使用文本編輯器打開 crontab
要使用文本編輯器打開 crontab,請以 root 權限執行以下命令。
crontab -e
執行命令後,系統會要求您選擇文本編輯器,如下面的屏幕截圖所示。
crontab -e 命令打開當前登錄用戶的crontab,也就是我的root用戶 example. 要打開另一個用戶的 crontab,假設用戶是 ‘tom’,添加 -u 標誌,後跟用戶名。 例子:
crontab -e -u tom
crontab 的語法
Linux crontab 有六個字段,如下所示。
* * * * * /path/to/script.sh
每個字段具有以下含義。
[Minute] [hour] [Day_of_the_Month] [Month_of_the_Year] [Day_of_the_Week] [command]
分鐘 0 – 59
小時 0 – 23
每月 1 – 31 日
一年中的月份 1 – 12
星期幾 0 – 7
一個基本的 example 一個 cron 工作
以下是一些 cron 作業的示例。
1. 安排一個 cron 作業在每天凌晨 2 點執行
0 2 * * * /bin/sh backup.sh
上述 cron 作業將在每天凌晨 2 點執行,並將運行腳本 backup.sh。 這將每天維護備份。
2.安排一個cron作業每天執行兩次
0 5,17 * * * /scripts/script.sh
以上 cron 作業將在每天上午 5 點和下午 5 點執行。 可以在逗號的幫助下指定多次。
3. 安排一個 cron 作業每分鐘執行一次
* * * * * scripts/script.sh
上面的 cron 作業將每分鐘執行一次。
4. 安排一個 cron 作業在每週日下午 5 點執行
0 17 * * sun /scripts/script.sh
上述cron作業將在每週日下午5點執行。 這種類型的 cron 可用於執行每週任務,例如日誌輪換等。
5. 安排一個 cron 作業每 10 分鐘執行一次
如果您希望每 10 分鐘執行一次作業,則需要按如下方式更新 cron。
*/10 * * * * /scripts/monitor.sh
‘*/10’ 表示每 10 分鐘運行一次。
6. 安排一個 cron 作業在選定的月份執行
假設要在1月、5月、8月執行一次cron,cron作業需要設置如下。
* * * jan,may,aug * /script/script.sh
同樣,可以用逗號指定多個月份。
7. 安排一個 cron 作業在選定的日期執行
如果您希望您的 cron 作業在選定的日期執行,假設週日和周五下午 5 點,它應該如下所示。
0 17 * * sun,fri /script/script.sh
8. 在單個 cron 作業中調度多個任務
多個腳本可以在單個任務中運行,如下所示。 兩個腳本應該用分號分隔。
* * * * * /scripts/script.sh; /scripts/scrit2.sh
9. 安排一個 cron 作業每 30 秒運行一次
要安排一個 cron 作業每 30 秒執行一次,我們需要設置兩個 cron,如下所示:
* * * * * /scripts/script.sh * * * * * sleep 30; /scripts/script.sh
10.安排一個cron作業在每週日和周一執行兩次
如果您想安排一個作業在每週日和周一的凌晨 4 點和下午 5 點執行兩次,cronjob 應如下所示:
0 4,17 * * sun,mon /scripts/script.sh
一天中的小時和周都用逗號分隔。
結論
感謝您閱讀有關 cron 作業的這篇文章。 祝你有美好的一天!!