crontab冲突:设置运行时间和执行时间冲突

时间:2013-12-01 22:53:28

标签: linux crontab

假设我有一个每分钟运行一次的crontab作业,该作业涉及将shell脚本的输出邮寄到某个电子邮件地址。我确信这项工作需要一分多钟才能完成。操作系统如何处理这个问题?我检查了我的系统日志,它向我显示该作业正在运行,但没有显示发送电子邮件的迹象。我对Linux比较陌生,所以请跟我说:]

1 个答案:

答案 0 :(得分:0)

通过创建以下脚本:

#!/bin/bash

file=/tmp/test$RANDOM

touch "$file"
sleep 600
rm "$file"

在我的crontab中每分钟运行一次。

guido@solid:~$ crontab -l
*   *   *   *   *   /home/guido/cmd.sh

我可以看到有很多cmd.sh运行的实例:

guido@solid:~$ ls /tmp/test*
/tmp/test7822   /tmp/test12278  /tmp/test16118  /tmp/test25642
/tmp/test11429  /tmp/test15958  /tmp/test18172  /tmp/test26104
guido@solid:~$ ps -e |grep cmd.sh
26005 ?        00:00:00 cmd.sh
26454 ?        00:00:00 cmd.sh
26999 ?        00:00:00 cmd.sh
27450 ?        00:00:00 cmd.sh
27895 ?        00:00:00 cmd.sh
28667 ?        00:00:00 cmd.sh
29220 ?        00:00:00 cmd.sh
29727 ?        00:00:00 cmd.sh
30232 ?        00:00:00 cmd.sh

这意味着,您的邮件作业正在多次运行,这可能会导致一些问题。在您确定没有重叠的情况下,或者更改作业以执行锁定,以便不会出现问题。

至于为什么没有任何关于您邮件发送的指示,我无法提供更多信息。