从bash脚本启动bash脚本作为cronjob

时间:2016-06-01 08:48:49

标签: linux bash cron crontab

我试图从第二个bash脚本启动一个bash脚本(test.sh),该脚本在Ubuntu 14.04上作为cronjob(startTest.sh)运行。 Cron正在运行,如果从命令行调用,两个脚本都可以正常工作。

startTest.sh看起来像这样:

#!bin/bash
SHELL=/bin/bash
PATH=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/home/username/path/to/script

bash /home/username/path/to/script/test.sh

test.sh看起来像这样:

#!/bin/bash

touch it_works.txt

我的crontab条目看起来像这样

* * * * * /usr/local/bin/startTest.sh

1 个答案:

答案 0 :(得分:2)

最佳做法通常不是在作为cron作业运行的脚本中使用相对路径(除非你做了明确的cd)。

crond可能无法从您期望的任何目录运行。根据此cron作业运行的用户,该脚本无权在it_works.txt的当前工作目录中创建crond,或者正在创建该文件并且您正在创建该文件。重新找错了地方。