利用 crontab 來作 Linux 固定排程

crontab 介紹

crontab 是 Linux 內建的機制,能夠根據設置的時間參數來執行例行性的工做排程。php

上述這張圖能夠清楚的顯示出前五項參數應該要帶進去的數字。
依序是分鐘, 小時, 日期, 月份, 星期, command
參數為0-59, 0-23, 1-31, 1-21, 0-6, 須要執行的commandnode

※ 月份參數為0表明星期日linux

參數特殊字符意義

【*】:星號,表明任何時刻都接受的意思
【,】:逗號,表明分隔時段。例如:30 9,17 * * * command,表明早上9點半和下午五點半都執行 command。
【-】:減號,表明一段時間範圍。例如:15 9-12 * * * command,表明從9點到12點的每個15分都執行 command。
【/n】:斜線,n表明數字,表示每個 n 單位間隔。例如:*/5 * * * * command,表明每隔 5 分鐘執行一次 command。shell

還有一些人性化的參數,一次取代所有五個數字參數ubuntu

【@reboot】 :僅在開機的時候執行一次。
【@yearly】 :一年執行一次,和0 0 1 1 * command效果一樣。
【@annually】:(和@yearly一樣)
【@monthly】:一個月執行一次,和0 0 1 * * command效果一樣。
【@weekly】:一個星期執行一次,和0 0 * * 0 command效果一樣。
【@daily】:天天執行,和0 0 * * * command效果一樣。
【@midnight】:(和@daily一樣)
【@hourly】 :每小時執行,和0 * * * * command效果一樣。url

crontab 操做

crontab 是會根據不一樣的使用者去斷定能夠操做的範圍。spa

$ crontab -l: 列出該使用者擁有的 crontab 指令
$ crontab -e: 編輯該使用者的 crontab 指令
$ crontab -r: 將使用者的 crontab 所有清除!( 當心使用code

編輯完後就能夠存檔離開,Linux 系統便會依照你設定的排程固定作事,很是方便。blog

※ 下達指令請用 絕對路徑 避免錯誤crontab

範例參考

$ */5 * * * * /home/ubuntu/test.sh:每五分鐘執行一次測試 shell script
$ 0 9 * * 1-6 node /home/ubuntu/workspace/report.js:天天早上九點(除了星期日)執行 report.js 這隻檔案

reference

Schedule Tasks on Linux Using Crontab
鳥哥的 Linux 私房菜 例行性工做排程 (crontab)

相關文章
相關標籤/搜索