从 bash 脚本作为 cronjob 启动 bash 脚本
Start bash script from bash script as cronjob
我正在尝试从作为 cronjob(startTest.sh) 在 Ubuntu 14.04。
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
最佳做法通常是不要在脚本 运行 中使用相对路径(除非您明确 cd
)作为 cron 作业。
crond
可能不是 运行ning 从您期望的任何目录。根据此 cron 作业 运行 的用户身份,脚本要么没有在 crond
的当前工作目录中创建 it_works.txt
的权限,要么正在创建文件,而您找错地方了。
我正在尝试从作为 cronjob(startTest.sh) 在 Ubuntu 14.04。 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
最佳做法通常是不要在脚本 运行 中使用相对路径(除非您明确 cd
)作为 cron 作业。
crond
可能不是 运行ning 从您期望的任何目录。根据此 cron 作业 运行 的用户身份,脚本要么没有在 crond
的当前工作目录中创建 it_works.txt
的权限,要么正在创建文件,而您找错地方了。