我有一个#!/bin/bash文件。周目录。
有办法测试它是否有效吗?不能等一个星期
我在Debian 6上使用root
我有一个#!/bin/bash文件。周目录。
有办法测试它是否有效吗?不能等一个星期
我在Debian 6上使用root
当前回答
我使用的解决方案如下:
编辑crontab(使用命令:crontab -e)以频繁地运行作业 根据需要(每1分钟或5分钟一次) 修改应该使用cron执行的shell脚本,将输出打印到某个文件中(例如:echo "Working fine" >> output.txt) 使用命令tail -f output.txt检查output.txt文件,它将把最新的内容打印到该文件中,因此您可以跟踪脚本的执行
其他回答
只要做cron所做的,以root身份运行以下命令:
run-parts -v /etc/cron.weekly
... 或者下一个,如果你收到"Not a directory: -v"错误:
run-parts /etc/cron.weekly -v
选项-v在运行脚本之前打印脚本名称。
除此之外,你还可以用:
http://pypi.python.org/pypi/cronwrap
结束你的cron,在成功或失败时给你发一封电子邮件。
我会使用一个锁文件,然后将cron作业设置为每分钟运行一次。(使用crontab -e和* * * * * /path/to/job)这样您就可以继续编辑文件,并且每分钟都会测试它们。此外,您可以通过触摸锁文件来停止cronjob。
#!/bin/sh
if [ -e /tmp/cronlock ]
then
echo "cronjob locked"
exit 1
fi
touch /tmp/cronlock
<...do your regular cron here ....>
rm -f /tmp/cronlock
我通常通过运行我创建的作业来测试,就像这样:
使用两个终端更容易做到这一点。
运行工作:
#./jobname.sh
至:
#/var/log and run
执行如下命令:
#tailf /var/log/cron
这允许我实时查看cron日志更新。您还可以在运行日志后查看日志,我更喜欢实时查看。
下面是一个简单的cron作业示例。运行yum更新…
#!/bin/bash
YUM=/usr/bin/yum
$YUM -y -R 120 -d 0 -e 0 update yum
$YUM -y -R 10 -e 0 -d 0 update
具体情况如下:
第一个命令将更新yum本身,下一个命令将应用系统更新。
-R 120:设置yum执行命令前等待的最大时间
-e 0:设置错误级别为0(范围0 - 10)。0表示只打印必须被告知的严重错误。
-d 0:将调试级别设置为0——增加或减少打印内容的数量。(范围:0 - 10)。
-y:假设是;假设任何问题的答案都是肯定的
在构建cron作业之后,我运行以下命令以使我的作业可执行。
#chmod +x /etc/cron.daily/jobname.sh
希望这能有所帮助, Dorlack
我之所以使用Webmin,是因为对于那些觉得命令行管理有点令人生畏和难以理解的人来说,它是一种生产力的宝石。
在“System > Scheduled Cron Job > Edit Cron Job”web界面中有一个“保存并立即运行”按钮。
它显示命令的输出,这正是我所需要的。