linux設定定時任務 crontab

2021-10-02 15:23:41 字數 1448 閱讀 9939

起初的時候是為了寫乙個開機自啟動的指令碼能夠開機後自動執行一些自己寫好的指令碼做一些事情。

假定指令碼可行且呼叫無誤的情況下,開機自啟動指令碼的方法有這幾種:

1.terminal 中輸入cd /etc/rc*.d,

你可以在裡面看到很多的(軟)link檔案,指向的是/etc/init.d/裡面的檔案,

(順便說一下,你會看到很多的rc*.d資料夾,這裡的數字表示開機等級)

所以呢,可以想到應該把自己寫好的指令碼放在/etc/init.d/資料夾裡面。

也確實是這樣。

注意檔案的許可權應該是root的並且可執行。

還要注意的是要在剛剛提到的/etc/rc*.d/裡面輸入

ln -s target destination

產生乙個指向/etc/init.d/裡面的你所放進去的檔案的link。

2.crontab

cron這個是linux下為實現定時功能而產生的。

輸入

crontab --help
輸入

crontab -e
第一次使用會讓你選擇乙個編輯器,我這裡用的是nano。

當然了可以用vim或者其他你習慣的編輯器。

最左邊的引數單位是分鐘,後面是小時…

像這樣:

minute(0-59) hour(0-23) date(1-31) month(1-12) weekday(0-6) command

舉幾個例子:

開機時啟動的指令碼:

@reboot cd /home/phnic/ && ./wlan.sh >> syslog 2>&1

每隔半個小時就執行一次的指令碼(/n的你表示間隔的時間):

*/30 * * * * source /… >>syslog 2>&1

9-12點之間每隔30分鐘就執行一次(-號表示時間範圍):

30 9-12 * * * command

每年的12月31日的23點59分鐘給自己的另一半發郵件

59 23 31 12 * mail honey < /…/…/love.txt

每週五12.00提醒自己幹嘛:

0 12 * * 5 mail me < /…/…/you_need.txt

…但是在crontab的配置檔案/etc/crontab中檢視內容你會看見,

有乙個zai在command之前有乙個user_name的引數.

區別在於使用crontab -e的時候預設這裡的身份是root,是針對使用者的cron設計的,

/etc/crontab中的任務可以認為是使用者自己的系統例行性任務。

(其實區別也不是很大/xk)

cron每隔一分鐘就會去讀取一次/etc/crontab檔案中的內容,如果你希望馬上執行,可以

sudo systemctl restart crond
希望對你有幫助。

linux定時任務cron

一 cron格式 其格式如下 minute hour day month dayofweek command 分鐘 小時 天 月 天每星期 命令 比如 15 ls 表示每15分鐘執行一次ls 即每個小時的第0 15 30 45 60分鐘執行ls命令 25 8 11 ls 每天8 11點的第25分鐘執...

Cron 定時任務 時間設定

crontriggers往往比 trigger更有用,如果您需要基於日曆的概念,而非 trigger完全指定的時間間隔,的發射工作的時間表。crontrigger,你可以指定觸發的時間表如 每星期五中午 或 每個工作日9 30時 甚至 每5分鐘一班9 00和10 00逢星期一上午,星期三星期五 即便...

cron設定定時任務詳解

定時任務cron job被用於安排那些需要被週期性執行的命令。利用它,你可以配置某些命令或者指令碼,讓它們在某個設定的時間內周期性地執行。cron 是 linux 或者類 unix 系統中最為實用的工具之一。cron 服務 守護程序 在系統後台執行,並且會持續地檢查 etc crontab檔案和 e...