我有一个#!/bin/bash文件。周目录。

有办法测试它是否有效吗?不能等一个星期

我在Debian 6上使用root


当前回答

我之所以使用Webmin,是因为对于那些觉得命令行管理有点令人生畏和难以理解的人来说,它是一种生产力的宝石。

在“System > Scheduled Cron Job > Edit Cron Job”web界面中有一个“保存并立即运行”按钮。

它显示命令的输出,这正是我所需要的。

其他回答

我使用的解决方案如下:

编辑crontab(使用命令:crontab -e)以频繁地运行作业 根据需要(每1分钟或5分钟一次) 修改应该使用cron执行的shell脚本,将输出打印到某个文件中(例如:echo "Working fine" >> output.txt) 使用命令tail -f output.txt检查output.txt文件,它将把最新的内容打印到该文件中,因此您可以跟踪脚本的执行

在摆弄了cron中一些不能立即兼容的东西之后,我发现下面的方法很适合调试:

crontab -e

* * * * * /path/to/prog var1 var2 &>>/tmp/cron_debug_log.log

这将每分钟运行一次任务,您可以简单地查看/tmp/cron_debug_log.log文件以了解发生了什么。

这并不是您可能正在寻找的“救火工作”,但在调试最初在cron中无法工作的脚本时,这对我帮助很大。

sudo run-parts --test /var/spool/cron/crontabs/

crontabs/目录中的文件需要由owner - octal 700可执行

资料来源:man cron和NNRooth's

除此之外,你还可以用:

http://pypi.python.org/pypi/cronwrap

结束你的cron,在成功或失败时给你发一封电子邮件。

这些答案都不适合我的具体情况,即我想运行一个特定的cron作业,只运行一次,并立即运行。

我在Ubuntu服务器上,我使用cPanel来设置我的cron作业。

我只是写下了我的当前设置,然后将它们编辑为一分钟后的设置。当我修复另一个错误时,我只是再次编辑它到一分钟后。当我全部完成时,我只是把设置重置回以前的样子。

示例:现在是下午4:34,所以我输入35 16 * * *,让它在16:35运行。

它像魔法一样有效,我所要等待的最长时间不到一分钟。

我认为这是一个比其他一些答案更好的选择,因为我不想运行所有的每周cron,也不想让工作每分钟都运行。在我准备再次测试之前,我花了几分钟时间来修复任何问题。希望这能帮助到一些人。