shell指令碼之所以存在就是為了能反覆執行一系列命令而不用人員一遍一遍的去操作主機執行這些命令。而執行shell指令碼有兩種方法,分別是手動執行和定時器排程。定時器排程會更加方便的執行shell。
crontab命令可以定時的去呼叫shell檔案。
1.crontab執行原理:
cron由crond守護程序和一組表(crontab檔案)組成,每乙個使用者都有乙個以使用者名稱命名的crontab檔案。
crontab是用來記錄那些需要定時執行的命令,而關於crond守護程序會每分鐘喚醒一次來掃瞄crontab檔案來判斷需要做什麼,如果有任務,就執行。
2.我們常用的命令如下:
crontab
-e (編輯工作表)
-l (列出工作表裡的命令)
-r (刪除工作作)
輸入crontab -e可以進入當前使用者的工作表編輯,是常見的vi介面,我們可以新增自己的crontab命令
具體格式如下: * * * * * shell檔名稱
以上五個引數分別是: minute hour day month dayofweek command
minute - 從0到59的整數
hour - 從0到23的整數
day - 從1到31的整數 (必須是指定月份的有效日期)
month - 從1到12的整數 (或如jan或feb簡寫的月份)
dayofweek - 從0到7的整數,0或7用來描述週日 (或用sun或mon簡寫來表示)
command - 需要執行的命令
其中關於時間的引數可以用*代替,意思是全部。
linux的crontab排程shell命令
1 編寫shell指令碼,新增可執行許可權。新增可執行許可權 chmod x backup spagobi db.sh 2 編寫排程命令 用root使用者在 etc cron.allow新增可排程crontab的使用者。沒有這個檔案則建立它 每個使用者提交的crontab排程都存放在 var spo...
OpenWRT新增 crontab開機預設執行
openwrt系統預設已經新增了crond,只是沒有配置預設配置引數,致使服務起不來。1.修改啟動指令碼 etc ini.d cron etc rc.d s50cron為 etc ini.d cron的鏈結 bin sh etc rc.common start 50 service use pid ...
crontab不能成功執行shell指令碼的可能原因
我們經常會需要使用crontab進行定時任務,但crontab不能成功執行指令碼的情況還是很常見,總結起來,本人了解到的和自己遇到的可能原因主要有以下幾個 1.crond程序不存在,該程序是crontab的守護程序,它必須存在才能讓crontab正常使用 2.系統時間不對 3.環境變數的問題 cro...