您好,登錄后才能下訂單哦!
本篇內容介紹了“Ubuntu的crontab定時任務怎么實現”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
(環境Ubuntu8.04)。
1. 使用crontab -e命令這個命令的使用比較簡單。直接輸入
~# crontab -e
就會打開一個編輯窗口,***行會有內容格式的提示:
# m h dom mon dow command
具體意義表示:分鐘 小時 日期 月份 星期 命令,在某月(mon)的某天(dom)或者星期幾(dow)的幾點(h,24小時制)幾分(m)執行某個命令(command),*表示任意時間。例如:
3 * * * * /home/meng/hello.sh就是:每小時的03時執行/home/meng/下的hello.sh腳本。
在保存之后,根據屏幕下面的提示輸入Ctrl+X退出,此時會提示是否保存,輸入Y;提示輸入文件名,并且有一個臨時的文件名,由于只是測試,直接回車保存。
注意:在完成編輯以后,要重新啟動cron進程:~# /etc/init.d/cron restart觀察運行結果,會發現hello.sh會每隔一小時,在03分時被執行一次。
在使用這個命令時,***的擔心就是在系統重啟以后是否還能順利執行呢?我重啟系統以后發現一切正常,于是打消了這個顧慮。但是,仍然有一個問題,一般情況下,服務器都是在重啟后處于登錄狀態下,并沒有用戶登入。那么如果我在執行crontab -e命令時,不是使用root賬戶,那么在系統重啟之后是否還會順利執行呢?
2. 編輯crontab文件crontab位于/ect/文件夾,在http://wiki.ubuntu.org.cn/CronHowto上有關于它的詳細介紹,但是我看的不是太懂。
打開crontab文件,如果沒有編輯過可以看到如下類似的內容:
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields, # that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 ** * * rootcd / && run-parts --report /etc/cron.hourly
25 6* * * roottest -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6* * 7 roottest -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 61 * * roottest -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
由于對腳本的認知有限,不能詳細解釋每個命令的含義。在第10行,同樣定義了文件內容的格式。可以看到比使用crontab -e命令時,多了一個user。它表示了執行命令的用戶,如果是root,就表明是系統用戶。于是,我加了如下一行:
3 * * * * root /home/meng/hello.sh
然后保存
“Ubuntu的crontab定時任務怎么實現”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。