linux定时任务crond
本文內容是基于CentOS 6.5,如果是其它版本(如:CenOS 7.0),命令可能會有區別。
[root@localhost?~]#?cat?/etc/redhat-release CentOS?release?6.5?(Final)一、crond服務:定時任務是由crond服務提供的。
1、crond服務默認情況下是開機啟動的。可以使用命令chkconfig或者chkconfig --list來查看。
[root@localhost?~]#?chkconfig auditd??????????0:關閉??1:關閉??2:啟用??3:啟用??4:啟用??5:啟用??6:關閉 crond???????????0:關閉??1:關閉??2:啟用??3:啟用??4:啟用??5:啟用??6:關閉2、查看crond服務是否在運行。
當然,也可以使用ps來查看
[root@localhost?~]#?ps?-ef?|grep?crond?|grep?-v?grep root???????1230??????1??0?23:04??????????00:00:00?crond3、啟動crond服務
[root@localhost?~]#?service?crond?start 正在啟動?crond:???????????????????????????????????????????[確定]4、停止crond服務
[root@localhost?~]#?service?crond?stop 停止?crond:???????????????????????????????????????????????[確定]5、重啟crond服務
二、創建、查詢、刪除定時任務
1、為用戶設置定時任務使用crontab命令,常用的命令選項有:
-l(該字母是小寫的L)? ? 列出已設置的定時任務
-e????????? ?編輯定時任務
-r ? ? ? ? ? ? ?刪除當前用戶所有定時任務
-u ? ? ? ? ? ? ?與前面3個選項配合使用,表示列出、編輯、刪除指定用戶的定時任務
在沒有創建任何定時任務前,使用crontab -l命令查看時,會提示該用戶沒有定時任務。
[root@localhost?~]#?crontab?-l no?crontab?for?root使用crontab -e命令會打開一個crontab的編輯界面,該界面就是vi編輯文本的界面。我們在里面按照標準的格式添加內容即可。
crontab -r會刪除所有的定時任務,請謹慎使用。一般來說,平時增加、刪除一個定時任務時,使用crontab -e命令進入編輯界面編輯增加或者刪除就可以了。
-u選項是指定用戶,當用戶為當前用戶時,該選項是省略掉的。因為我們創建任務時大多是針對當前用戶,所以我們看見大多數情況下是沒有使用-u選項的。下面是為用戶jack創建一個定時任務,并查看定時任務。
[root@localhost?~]#?crontab?-e?-u?jack [root@localhost?~]#?crontab?-l?-u?jack 20?12?*?*?*?echo?"hello"2、定時任務的配置說明
任務的標準格式為:
* * * * * [command]
| 位置 | 含義 | 范圍 |
| 第一個“*” | 一小時當中的第幾分鐘 | 0-59 |
| 第二個“*” | 一天當中的第幾個小時 | 0-23 |
| 第三個“*” | 一個月當中的第幾天 | 1-31 |
| 第四個“*” | 一年當中的第幾個月 | 1-12 |
| 第五個“*” | 一周當中的星期幾 | 0-7(0和7都代表星期日) |
| 第六段[command] | 要執行的命令 |
前面5個星號,使用“分時日月周”這5個字來記憶。
舉例:
22 12 * * * echo "hello"????表示每天的12點22分打印hello到終端
3、注意事項:
(1)除非有特殊要求,否則日、月最好不要和周同時使用,容易把自己繞暈了。
(2)整點的表示,要在分鐘處寫0,而不是寫*,*表示所有。例如:* 1 * * *每天1點里的每1分鐘都執行一次,如果想讓1點整執行,要寫成0 1 * * *才行。
(3)如果想表示多久執行一次,使用*/n來表示,例如:*/5 1 * * *表示1點里每5分鐘執行一次。
(4)這里沒有提供表示年的位置。其實仔細想一想,我們如果把表示月份的星號設置為具體的一個數之后,就相當于隔了一年。例如 0 1 1 9 *表示每年的9月1日1點整開始執行。
轉載于:https://blog.51cto.com/xigestudy/1843146
總結
以上是生活随笔為你收集整理的linux定时任务crond的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript强化教程——Java
- 下一篇: List, Set, Map是否继承自C