【问题标题】:crontab running twice but ps ax shows only one crond processcrontab 运行两次,但 ps ax 只显示一个 crond 进程
【发布时间】:2015-08-07 09:45:33
【问题描述】:

我正在尝试运行一个 crontab,它执行一个触发邮件命令的 bash 脚本。我只为我的用户在 crontab 中完成了一项。也在做ps ax | grep cron 结果只有一个 crond 进程。我不知道为什么我会收到两次邮件

Cron 日志

Aug  7 14:38:10 centos crond[29299]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 85% if used.)
Aug  7 14:38:11 centos crond[29299]: (CRON) INFO (running with inotify support)
Aug  7 14:38:11 centos crond[29299]: (CRON) INFO (@reboot jobs will be run at computer's startup.)
Aug  7 14:40:01 centos CROND[29376]: (root) CMD (/usr/lib64/sa/sa1 1 1)
Aug  7 14:50:01 centos CROND[29940]: (root) CMD (/usr/lib64/sa/sa1 1 1)
Aug  7 14:59:01 centos CROND[30388]: (test_user) CMD (bash /home/test_user/dev/mail_test_user.sh)
Aug  7 15:00:01 centos CROND[30585]: (test_user) CMD (bash /home/test_user/dev/mail_test_user.sh)
Aug  7 15:00:01 centos CROND[30586]: (root) CMD (/usr/lib64/sa/sa1 1 1)
Aug  7 15:01:01 centos CROND[30775]: (root) CMD (run-parts /etc/cron.hourly)
Aug  7 15:01:01 centos run-parts(/etc/cron.hourly)[30775]: starting 0anacron
Aug  7 15:01:01 centos run-parts(/etc/cron.hourly)[30787]: finished 0anacron
Aug  7 15:01:01 centos run-parts(/etc/cron.hourly)[30775]: starting 0yum-hourly.cron
Aug  7 15:01:01 centos run-parts(/etc/cron.hourly)[30795]: finished 0yum-hourly.cron

crontab 列表

@reboot autossh -M 8000 -f -N -R 9000:localhost:22 remote_user@192.168.0.3
@reboot autossh -M 8002 -f -N -R 9001:localhost:5901 remote_user@192.168.0.3
@reboot autossh -M 8004 -f -N -R 9002:localhost:80 remote_user@192.168.0.3
0,59 * * * * bash /home/vikas/dev/mail_test_user.sh

mail_test_user.sh 的内容

echo "I am up :)))" | mail -s "Notification : test_user@centos.localdomain [STAG]" foobaar22@gmail.com

ps 辅助 | grep cron 结果

root     29299  0.0  0.0 126300  1692 ?        Ss   14:38   0:00 /usr/sbin/crond -n
test_user    31650  0.0  0.0 112640   964 pts/0    S+   15:13   0:00 grep --color=auto cron

幸运的是为什么会发生这种情况?

我也尝试重新启动并重新启动 crond 但无法正常工作。

【问题讨论】:

    标签: linux crontab


    【解决方案1】:

    第二行是grep 命令的结果。这是 grep 命令的过程,而不是您的 cronjob 过程。因为它符合您的搜索条件。

    【讨论】:

    • 是的,这就是我所说的,只有一个 crond 进程仍在运行,正如您在 cron 日志中看到的那样,它的 cron 任务正在运行两次
    • Cron 工作正常,如我所见。您在 crontab 文件中指定了以下规则:0,59 * * * *。这意味着每小时在 59 分钟和 00 分钟运行您的工作。比如 14:59 或 15:00。这就是正在发生的事情。你的 cron 首先开始于:8 月 7 日 14:59:01。第二次:8 月 7 日 15:00:01。
    • 哦,我的错不知道我是如何把 */59 变成 0,59 谢谢 :)
    【解决方案2】:

    错误在于设置 cronjob 应该是 */59 而不是 0/59。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-21
      • 2016-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2022-01-05
      • 2016-01-27
      相关资源
      最近更新 更多