最近需要在linux上執行乙個指令碼,每天15點自動上傳資料到另外一台伺服器上。這windows伺服器中,可以通過計畫任務來按成,在linux伺服器中可以通過crontab程序完成,其功能基本一樣。
crontab是linux的守護程序(damon),一般會自安裝,無需我們自己安裝。crontab服務跟其他服務一樣,可以啟動、停止、重啟等操作。以下是操作命令:
檢視任務:service crond status
啟動服務:service crond start
關閉服務:service crond stop
重啟服務:service crond restart
過載配置:service crond reload
/etc/crontab 定時任務列表(系統任務)
/etc/cron.deny 禁止使用crontab的使用者列表
/etc/cron.allow 允許使用crontab的使用者列表
/var/spool/cron/ 定時任務列表(使用者任務)。這是乙個目錄,裡面包含使用者對應的檔案。如使用者hw,他建立3個任務,那麼/var/spool/cron中就會存在hw檔案,開啟hw檔案,裡面就是hw使用者建立的任務列表。
開啟/etc/crontab,可以看到建立任務的語法結構。
有五個時間點、乙個使用者點、乙個指令點需要指明。
五個時間點分別是分鐘(minute,取值0-59),小時(hour,取值0-23),日期(day of month ,取值1-31,需要具有實際意義,如2月的31日這樣無意義),月(month,取值1-12),周(day of week,取值0-6,可以使用0或7指代週日)。
乙個使用者點(user-name)。注意:新增定時任務時,如果是在使用者下新增定時任務時,不需要加使用者名稱。
乙個指令點(command)。你需要執行的命令
時間點中的特殊字元
特殊字元
含義
說明
*(星號)
任意的時間,預設值就是*
* * * * * command
表示每分鐘執行一次。
全部是*,表示任意時間都要執行,而crontab的執行間隔的最小單位是分鐘,故每分鐘執行一次。 ,
(逗號)
多個值的分隔符
15,30,45 ***
*command
表示每小時的15分、30分、45分執行
30 8,10,12 * * * command
表示每天8:30、10:30、12:30執行 -
(減號)
取值空間,取值範圍
0 13-15 * * * command
表示每天的13點到15點執行
*/n每隔n
*/15 14-16 * * 1 command
表示周一的14點到16點每隔15分鐘執行一次
crontab的語法
Linux建立Cron定時任務
1.以當前使用者建立 crontab e以指定使用者身份建立 sudo crontab u e 2.回車,預設以nano開啟配置檔案,然後在後面新增任務即可 格式 示例 執行目標的絕對路 每分鐘執行 0 執行目標的絕對路 每小時執行 0 0 執行目標的絕對路 每天零點執行 0 7,15 執行目標的絕...
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 定時任務
一般系統都會有定時任務存在,比如訂單系統,會根據定時任務來實時同步訂單狀態,同步交易狀態等等。定時任務可以使用quartz 定時任務,也可以自己寫乙個任務排程系統,只要能實現功能就可以。下面我簡單介紹一下quartz 定時任務配置,需要配置三個bean,分別為 quartz,trigger,sche...