我试图从第二个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
答案 0 :(得分:2)
最佳做法通常不是在作为cron作业运行的脚本中使用相对路径(除非你做了明确的cd
)。
crond
可能无法从您期望的任何目录运行。根据此cron作业运行的用户,该脚本无权在it_works.txt
的当前工作目录中创建crond
,或者正在创建该文件并且您正在创建该文件。重新找错了地方。