天天看点

制定一个crontab

55 3 21 6 2  sh /tmp/test.sh

2 10 21 6 2  sh /tmp/test2.sh

55 3 19 7 2  sh /tmp/test.sh

2 10 19 7 2  sh /tmp/test2.sh

55 3 16 8 2  sh /tmp/test.sh

2 10 16 8 2  sh /tmp/test2.sh

55 3 20 9 2  sh /tmp/test.sh

2 10 20 9 2  sh /tmp/test2.sh

55 3 18 10 2  sh /tmp/test.sh

2 10 18 10 2  sh /tmp/test2.sh

55 3 15 11 2  sh /tmp/test.sh

2 10 15 11 2  sh /tmp/test2.sh

55 3 20 12 2  sh /tmp/test.sh

2 10 20 12 2  sh /tmp/test2.sh

以上设置在crontab 中会只认每个月的周二的,不认这周二的几月几日的,

更改后正确的设置如下:

55 3 21 6 *  sh /tmp/test.sh

2 10 21 6 *  sh /tmp/test2.sh

55 3 19 7 *  sh /tmp/test.sh

2 10 19 7 *  sh /tmp/test2.sh

55 3 16 8 *  sh /tmp/test.sh

2 10 16 8 *  sh /tmp/test2.sh

55 3 20 9 *  sh /tmp/test.sh

2 10 20 9 *  sh /tmp/test2.sh

55 3 18 10 *  sh /tmp/test.sh

2 10 18 10 *  sh /tmp/test2.sh

55 3 15 11 *  sh /tmp/test.sh

2 10 15 11 *  sh /tmp/test2.sh

55 3 20 12 *  sh /tmp/test.sh

2 10 20 12 *  sh /tmp/test2.sh

结合在一个脚本语句中搞定

具体如下:

55 03 15-21 * * if [ `date '+\%w'` = "2" ]; then sh /tmp/test.sh ;fi

02 10 15-21 * * if [ `date '+\%w'` = "2" ]; then sh /tmp/test2.sh ;fi

本文转自 holy2009 51CTO博客,原文链接:http://blog.51cto.com/holy2010/592427