linux crontab 定时任务
应用举例:
1、编写需要定时执行的脚本
vi test-cron.sh
添加下面一行到文件test-cron.sh中
echo "====`date`====" >> /tmp/test-cron.log;
2、使test-cron.sh 脚本具有可执行权限
`chmod +x test-cron.sh`
3、添加定时任务
crontab -e
在末尾添加下面一行:意思是每分钟执行一次test-cron.sh 脚本
*/1 * * * * /bin/bash /root/test-cron.sh
各种定时举例:
01 * * * * root run-parts /etc/cron.hourly
run-parts表示后面跟着的是一个文件夹,要执行的是该文件夹下的所有脚本
每天早上6点
0 6 * * * echo "Good morning." >> /tmp/test.txt
//注意单纯echo,从屏幕上看不到任何输出,
因为cron把任何输出都email到root的信箱了。
每两个小时(第一个为15,指明没两个小时的第15min中执行一次)
15 */2 * * * echo "Have a break now." >> /tmp/test.txt
晚上11点到早上8点之间每两个小时和早上八点
0 23-7/2,8 * * * echo "Have a good dream" >> /tmp/test.txt
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * 1-3 command line
1月1日早上4点
0 4 1 1 * command line
每小时(第一分钟)执行/etc/cron.hourly内的脚本
01 * * * * root run-parts /etc/cron.hourly
每天(凌晨4:02)执行/etc/cron.daily内的脚本
02 4 * * * root run-parts /etc/cron.daily
每星期(周日凌晨4:22)执行/etc/cron.weekly内的脚本
22 4 * * 0 root run-parts /etc/cron.weekly
每月(1号凌晨4:42)去执行/etc/cron.monthly内的脚本
42 4 1 * * root run-parts /etc/cron.monthly
注意: "run-parts"这个参数了,如果去掉这个参数的话,
后面就可以写要运行的某个脚本名,而不是文件夹名。
每天的下午4点、5点、6点的5 min、15 min、25 min、
35 min、45 min、55 min时执行命令。
5,15,25,35,45,55 16,17,18 * * * command
每周一,三,五的下午3:00系统进入维护状态,重新启动系统。
00 15 * *1,3,5 shutdown -r +5
每小时的10分,40分执行用户目录下的innd/bbslin这个指令:
10,40 * * * * innd/bbslink
每小时的1分执行用户目录下的bin/account这个指令:
1 * * * * bin/account
每天早晨三点二十分执行用户目录下如下所示的两个指令(每个指令以;分隔):
203 * * * (/bin/rm -f expire.ls logins.bad;bin/expire$#@62;expire.1st)
每年的一月和四月,4号到9号的3点12分和3点55分执行/bin/rm -f expire.1st这个指令,
并把结果添加在mm.txt这个文件之后(mm.txt文件位于用户自己的目录位置)。
12,553 4-91,4 * /bin/rm -f expire.1st$#@62;$#@62;mm.txt
如果定时任务不执行,可能原因:
1、修改rsyslog
sudo vim /etc/rsyslog.d/50-default.conf
cron.* /var/log/cron.log #将cron前面的注释符去掉
2、重启rsyslog
sudo service rsyslog restart
参考文档:
http://www.cnblogs.com/kaituorensheng/p/4494321.html
http://blog.sina.com.cn/s/blog_70b9730f01019ora.html
本文出自“he ivy”的博客,转载请务必保留此出处:http://blog.csdn.net/heivy/article/details/50886112