crontab定期執行命令詳解,以及例項
一,什麼是crond,crontab
linux下面定期分為二部分,一部分是後臺程式crond,一部分是crontab往crond輸入指令的介面。
為什麼要定期執行,因為有些事情我們是要定時執行的,這樣可以節省不少人力,物力。例 如:每個星期都要給註冊的使用者傳送郵件,如果能定時執行的話,就不要有個人去做了,現在sns比較流行,裡面有什麼好友新鮮事,你做的事情,不是立馬你的 好友就能看到,也許要過一小時,或者幾個小時才能看到,如果要人工去操作的話,就比較煩了。
二,crond啟動
crond不同的系統下面啟動不同,以archlinux為例
1,crond啟動
[root@BlackGhost zhangy]# crond
2,crond開機啟動
a,利用rc.conf
DAEMONS=(syslog-ng alsa hal net-profiles httpd !slim @mysqld !network !netfs crond)
b,利用rc.local
在檔案的最後加上sudo crond
三,crontab命令詳解
- [root@BlackGhost etc]# crontab -h
- crontab V3.2
-
crontab file
replace crontab from file //修改檔案存放位置 -
crontab -
replace crontab from stdin - crontab -u user specify user //指定使用者
- crontab -l [user] list crontab for user // 檢視命令列表
- crontab -e [user] edit crontab for user //編輯列表
- crontab -d [user] delete crontab for user //刪除列表
- crontab -c dir specify crontab directory //指定crontab 目錄
四,crontab命令詳解
1,crontab file 指定命令存放
archlinux下面預設crontab命令存放在是在/var/spool/cron/下面,以使用者名稱來命名檔案的
[root@BlackGhost etc]# ls /var/spool/cron
root zhangy
如果我想換個位置怎麼辦呢,看下面
- [root@BlackGhost etc]# cp /var/spool/cron/root /tmp/root
- [root@BlackGhost etc]# crontab /tmp/root //修改檔案存放位置
- [root@BlackGhost etc]# crontab -l
- #
- # DO NOT EDIT THIS FILE MANUALLY!! USE crontab -e INSTEAD.
- #
-
#
- 01 * * * * /usr/sbin/run-cron /etc/cron.hourly
- 02 00 * * * /usr/sbin/run-cron /etc/cron.daily
- 22 00 * * 0 /usr/sbin/run-cron /etc/cron.weekly
- 42 00 1 * * /usr/sbin/run-cron /etc/cron.monthly
- #30 00 * * * /sbin/shutdown -h now
- 00 18 * * * /home/zhangy/database_bak.sh
2,crontab -u,crontab -l,crontab -e,crontab -d
- [root@BlackGhost etc]# crontab -l -u zhangy //沒有任務
- [root@BlackGhost etc]# crontab -e -u zhangy //新增任務
- [root@BlackGhost etc]# crontab -l -u zhangy //檢視任務
- 00 18 * * * /home/zhangy/database_bak.sh
- [root@BlackGhost etc]# crontab -d -u zhangy //刪除任務使用者
- [root@BlackGhost etc]# crontab -l -u zhangy //使用者已刪除
- no crontab for zhangy
- [root@BlackGhost etc]# crontab -e -u zhangy //新增任務
- [root@BlackGhost etc]# crontab -l -u zhangy //檢視
- 00 18 * * * /home/zhangy/database_bak.sh
3,crontab書寫規則
第1列 第2列 3 4 5 6
第1列表示分鐘1~59 每分鐘用*或者 */1表示
第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列表示月份1~12
第5列標識號星期0~6(0表示星期天)
第6列要執行的命令
crontab書寫規則的例子很多,以下從網上找的,偷懶一下,嘿嘿
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重啟lighttpd 。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重啟lighttpd 。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每週六、週日的1 : 10重啟lighttpd 。
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之間每隔30分鐘重啟lighttpd 。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重啟lighttpd 。
* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小時重啟lighttpd
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11點到早上7點之間,每隔一小時重啟lighttpd
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4號與每週一到週三的11點重啟lighttpd
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一號的4點重啟lighttpd
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23490154/viewspace-1063804/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在linux上定期執行命令、指令碼(cron,crontab,anacron)Linux指令碼
- Linux下的crontab定時執行任務命令詳解Linux
- Python程式和執行緒例項詳解Python執行緒
- crontab異常:shell下可以執行命令,執行crontab卻報錯
- Centos 7下利用crontab定時執行任務詳解CentOS
- 多執行緒併發鎖分類以及簡單例項執行緒單例
- 元件例項 $el 詳解元件
- DophinScheduler 如何定期刪除日誌例項?
- Activiti的流程例項【ProcessInstance】與執行例項【Execution】
- Thread 併發執行例項thread
- 掌握C#中的GUI多執行緒技巧:WinForms和WPF例項詳解C#GUI執行緒ORM
- 30 個例項詳解 ,讓運維徹底搞清TOP 命令!運維
- 詳解樸素貝葉斯的來源,原理以及例項解析
- CentOS 8 安裝 Docker 以及常用命令例項CentOSDocker
- Linux crontab 未執行排查Linux
- 例項程式碼詳解正規表示式匹配換行
- Linux命令:grep命令AND、OR、NOT例項Linux
- EventBus詳解及簡單例項單例
- Spring事務管理(詳解+例項)Spring
- CSS例項詳解:Flex佈局CSSFlex
- pwn雜項之linux命令執行Linux
- docker 執行elasticsearch單例項(elasticsearch:7.12.0)DockerElasticsearch單例
- Linux中執行多個MySQL例項LinuxMySql
- Go的執行原理以及Go的命令Go
- awk命令使用例項
- restorecon 命令使用例項REST
- Tee命令使用例項
- nmap命令常用例項
- MySQL共享鎖:使用與例項詳解MySql
- 50個典型電路例項詳解
- PHP7 新增功能詳解(例項)PHP
- git常用命令分支策略以及例項操作流程示範Git
- crontab和cron表示式詳解
- crontab 命令使用
- Cypress系列(90)- Cypress.Cookies 命令詳解以及如何跨測試用例共享 CookiesCookie
- 附例項!圖解React的生命週期及執行順序圖解React
- NCF的Dapr應用例項的執行
- 在Windows中執行多個MySQL例項WindowsMySql
- 唯一標識 Java 執行的例項Java