我正在尝试从第二个 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
最佳做法通常是在作为 cron 作业运行的脚本中使用相对路径(除非您执行显式cd
)。
crond
可能没有从您期望的任何目录运行。 根据此 cron 作业运行的用户身份,脚本要么没有权限在crond
当前工作目录中创建it_works.txt
,要么它正在创建文件而您找错了地方。