【问题标题】:Cronjob is working, but my Script wont load in croncrontab 正在工作,但我的脚本不会在 cron 中加载
【发布时间】:2015-06-08 01:21:11
【问题描述】:

我的 cron 正在运行(下面的 Cron.log),我的脚本也在运行。但是 Cron 不会每 2 分钟加载一次脚本。

Cron.log:

Apr  3 01:02:01 Debian-78-wheezy-64-minimal /USR/SBIN/CRON[11777]: (mc) CMD (mc /home/mctw2/crash-script)
Apr  3 01:04:01 Debian-78-wheezy-64-minimal /USR/SBIN/CRON[1754]: (mc) CMD (mc /home/mctw2/crash-script)
Apr  3 01:06:01 Debian-78-wheezy-64-minimal /USR/SBIN/CRON[15086]: (mc) CMD (mc /home/mctw2/crash-script)
Apr  3 01:06:49 Debian-78-wheezy-64-minimal crontab[5657]: (root) BEGIN EDIT (root)
Apr  3 01:06:54 Debian-78-wheezy-64-minimal crontab[5657]: (root) END EDIT (root)
Apr  3 01:06:59 Debian-78-wheezy-64-minimal crontab[19549]: (mc) BEGIN EDIT (mc)
Apr  3 01:08:01 Debian-78-wheezy-64-minimal /USR/SBIN/CRON[9566]: (mc) CMD (mc /home/mctw2/crash-script)
Apr  3 01:08:21 Debian-78-wheezy-64-minimal crontab[19549]: (mc) END EDIT (mc)
Apr  3 01:08:26 Debian-78-wheezy-64-minimal crontab[12341]: (mc) BEGIN EDIT (mc)
Apr  3 01:09:01 Debian-78-wheezy-64-minimal /USR/SBIN/CRON[7312]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -x /usr/lib/php5/sessionclean ] && [ -d /var/lib/php5 ] && /usr/lib/php5/sessionclean /var/lib/php5 $(/usr/lib/php5/maxlifetime))
Apr  3 01:10:01 Debian-78-wheezy-64-minimal /USR/SBIN/CRON[29224]: (mc) CMD (mc /home/mctw2/crash-script)
Apr  3 01:10:45 Debian-78-wheezy-64-minimal crontab[12341]: (mc) END EDIT (mc)
Apr  3 01:12:01 Debian-78-wheezy-64-minimal /USR/SBIN/CRON[4285]: (mc) CMD (mc /home/mctw2/crash-script)
Apr  3 01:14:01 Debian-78-wheezy-64-minimal /USR/SBIN/CRON[12549]: (mc) CMD (mc /home/mctw2/crash-script)
Apr  3 01:16:01 Debian-78-wheezy-64-minimal /USR/SBIN/CRON[2767]: (mc) CMD (mc /home/mctw2/crash-script)
Apr  3 01:17:01 Debian-78-wheezy-64-minimal /USR/SBIN/CRON[18323]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)

这是我的脚本:

#!/bin/bash

SERVER=`ps ax | grep FTBServer-1.6.4-965.jar | grep -v grep | wc -l`

if [ $SERVER -eq 1 ]

then

exit

else

cd /home/mctw2/ ; screen -a -m -d -s mctw2 ./ServerStart.sh

fi

至少还有我的 crontab:

*/2 * * * * mc /home/mctw2/crash-script

我怎样才能让它工作?

【问题讨论】:

  • 根据您之前的问题,我假设该行位于/etc/crontab,正如您所知,它使用与用户 crontab 不同的语法。请更新您的问题以明确说明(不要假设任何人已阅读其他问题)。
  • 对不起,我不明白你的意思。在我的 /etc/crontab 文件中只有当我在我的用户 mc 上使用 crontab -e 时才没有什么,rly sry 但我在 cron 中是全新的,它让我越来越困惑
  • 所以你使用crontab -e安装了那个crontab?在这种情况下,问题在于 user crontab 不需要(或允许)用户名字段。删除mc
  • @KeithThompson:添加为社区 wiki 答案

标签: linux bash cron debian


【解决方案1】:

你的 crontab 条目

*/2 * * * * mc /home/mctw2/crash-script

在第 6 列中包含用户名 mc,适用于 /etc/crontab 中的系统级 crontab。

但是,使用 crontab -e 编辑的每用户 crontab 的格式如下:

*/2 * * * * /home/mctw2/crash-script

【讨论】:

  • 我现在编辑了 crontab 文件,就像您在用户 mc 上使用 crontab -e 所说的那样。但是我的脚本仍然不想启动...与上面相同的错误...我不知道我做错了什么T_T我只是希望我的游戏服务器在崩溃时自动重新启动(对不起我的英语不好)编辑:需要我最终因为它是一个 .sh 文件而添加到这样的 contrab 条目中? */2 * * * * /home/mctw2/crash-script.sh
  • @oRxx: 如果它被称为crash-script.sh,那么你当然必须这样写。文件扩展名在 unix/linux 中绝不像在 dos/windows 中那样神奇。
  • 谢谢你,天哪,你帮了我很多家伙
猜你喜欢
  • 1970-01-01
  • 2018-05-06
  • 1970-01-01
  • 2015-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多