在Linux系統中,定時任務主要通過兩種工具實現:cron
和at
cron
定時任務:cron
是一個守護進程,用于在固定時間、周期性地執行任務。要編輯用戶的crontab
文件,請在終端中輸入以下命令:
crontab -e
這將打開一個文本編輯器,您可以在其中添加定時任務。cron
任務的格式如下:
* * * * * command-to-be-executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday is both 0 and 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
例如,要創建一個每天凌晨1點執行/home/user/backup.sh
腳本的定時任務,您可以添加以下行:
0 1 * * * /home/user/backup.sh
保存并退出編輯器。現在,新的定時任務已經生效。
at
定時任務:at
用于在指定時間執行一次性任務。要使用at
,首先確保at
守護進程正在運行:
sudo service atd start
然后,您可以使用以下命令創建一個新的at
任務:
echo "command-to-be-executed" | at time
例如,要在10分鐘后執行/home/user/backup.sh
腳本,您可以輸入:
echo "/home/user/backup.sh" | at now + 10 minutes
要查看待執行的at
任務列表,請使用:
atq
要取消一個at
任務,請使用:
atrm [job_number]
其中[job_number]
是要刪除的任務的編號,可以通過atq
命令查看。