首页 > 其他 > 详细

crontab小结

时间:2014-03-11 03:20:56      阅读:354      评论:0      收藏:0      [点我收藏+]

crontab是linux下的计划任务,可以用来定时或者按计划运行命令。

 

创建计划任务:

1.使用crontab -e命令,直接创建计划任务

2.使用编辑器编写好计划任务的文件后,再使用crontab [plan-file],注册计划任务文件。这方法不好的地方在于,每次编辑完计划任务的文件后,都得记得注册一次,否则还是旧的计划任务。

 

crontab的语法如下:

*     *     *     *     *  command to be executed
-     -     -     -     -
|     |     |     |     |
|     |     |     |     +----- day of week (0 - 6) (Sunday=0)
|     |     |     +------- month (1 - 12)
|     |     +--------- day of month (1 - 31)
|     +----------- hour (0 - 23)
+------------- min (0 - 59)

例子:

* * * * * <command> #Runs every minute
30 * * * * <command> #Runs at 30 minutes past the hour
45 6 * * * <command> #Runs at 6:45 am every day
45 18 * * * <command> #Runs at 6:45 pm every day
00 1 * * 0 <command> #Runs at 1:00 am every Sunday
00 1 * * 7 <command> #Runs at 1:00 am every Sunday
00 1 * * Sun <command> #Runs at 1:00 am every Sunday
30 8 1 * * <command> #Runs at 8:30 am on the first day of every month
00 0-23/2 02 07 * <command> #Runs every other hour on the 2nd of July
* */1 * * *
<command> #每一小时
* 23-7/1 * * *<command> #晚上11点到早上7点之间,每隔一小时

 

查看计划任务:

crontab -l

 

查看输出:

crontab默认会将<command>的结果输出到Linux用户的邮箱(mailbox),在redhat enterprise版本中,mailbox在/var/spool/mail/<user>这里。

每次来这里查看其实不太方便,所以可以让crontab直接输出到某个指定的地方:

*/10 * * * * /bin/execute/this/script.sh >> /var/log/script_output.log 2>&1

这里的1和2,值得是将STDERR这个输出(standard errors, 用2表示),一并存到STDOUT这个输出里(standard output, 用1表示)

 

以某用户运行计划任务:

crontab -u <user> -e

这样的计划任务,是为某个特定的用户而创建的。否则的话,就算调用Java,也得在命令行里写一堆东西:

export JAVA_HOME=/usr/java/jdk1.6.0_45
export PROJECT_HOME=/home/derek/clientreporting
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/td.jar:.

 

 

 

参考

crontab小结,布布扣,bubuko.com

crontab小结

原文:http://www.cnblogs.com/techyc/p/3591872.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!