如何在crontab上运行多行的bash脚本

时间:2013-05-06 19:11:58

标签: cron

因为vpnc每隔大约23个小时停止一次,所以我创建了一个每10分钟作为一个cron作业运行的.sh文件,它所做的就是停止vpnc进程并再次运行它。

我已将其设为chmod + x ping_vpnc.sh可执行文件,当我通过./ping_vpnc.sh

从终端运行它时,它可以正常运行

我的文件类似于:

#!/bin/sh

killall vpnc #just to make sure I don't create too many tunnels.
vpnc default.conf  #run vpnc connect file.

我的crontab文件:

*/10 * * * * /home/username/ping_vpnc.sh

脚本的问题是它没有完全运行,所以它只是在不重新运行的情况下终止进程。

我正在以root身份运行脚本,因此我认为这不是特权问题。

知道为什么会这样吗?我会很感激的。

1 个答案:

答案 0 :(得分:4)

如评论所示,请更改

*/10 * * * * /home/username/ping_vpnc.sh

*/10 * * * * /bin/sh /home/username/ping_vpnc.sh

即告诉crontab哪个二进制文件必须执行脚本。

对于将来的参考,让我指出您在Ask Ubuntu中发现的问题:Script doesn't run via crontab but works fine standalone。它提供有关该主题的全面信息。