这个crontab行做了什么?

时间:2013-02-17 05:59:32

标签: bash crontab

脚本deployment_worker.sh是一个控制脚本,负责每两个小时停止和启动一个服务......或者我认为。显然,crontab中的这一行做了别的事情,从这个事实来看,每当我杀死他时,这个过程就会很快从地狱回来:

* */2 * * * /srv/server_ctrl/deployment_worker.sh restart

deployment_worker.sh的第45行:

echo "Issuing service start" >> $CONTROL_LOG

我向日志文件发出一行,该行有效出现在日志中,我认为这意味着该文件由某人(不是我!)执行...而且只有我想到的就是cron守护进程......

所以,这是我的问题:

  • 上面的crontab行做了什么?

3 个答案:

答案 0 :(得分:3)

每两小时运行一次:

 0   */2   *   *   *   <command-to-run>

所以它从早上12点到12点59分每分钟运行一次,然后从凌晨2点到2点59分运行......等等。

http://livecronjobs.com/how-to-run-cron-every-2-hour

答案 1 :(得分:0)

* */2 * * *表示在午夜0点,凌晨2点,凌晨4点运行...请参阅man crontab

答案 2 :(得分:0)

cron可以在任何必要的uid下运行脚本。如果普通用户拥有cron权限并向其个人crontab添加内容,则这些cron作业将在他们的ID下运行。 root可以有自己的crontab,也可以控制每个其他用户的crontab。

这样你的cron行可以以root身份运行(如果它在root的crontab中),或者作为其他用户运行。

至于它的作用,它每两个小时运行一次指定的脚本。