【发布时间】:2013-11-14 07:23:26
【问题描述】:
我有一个非常简单的 shell 脚本,需要作为 cronjob 运行,但我什至无法运行测试脚本。这是示例脚本:
/home/myUser/scripts/test.sh
#!/bin/bash
touch file.txt
crontab:
* * * * * /home/myUser/scripts/test.sh
脚本在终端上运行良好,但无法让它作为 cronjob 运行。到目前为止,我已经在 crontab 中尝试过这些:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
* * * * * /bin/bash /home/myUser/scripts/test.sh
脚本文件中的这个:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/myUser/scripts
根据我收集的信息,解决方案可能在 PATH 变量中,但我无法弄清楚它是什么,因为我的理解在这一点上非常有限。所以我的问题是,如何让我的脚本作为 cronjobs 运行?
编辑:该文件对所有用户都具有 rwx 权限。这仅用于测试目的。
编辑: cronjobs,如 * * * * * touch /home/myUser/scripts/test.txt 工作,但它不会运行脚本。
【问题讨论】:
-
我要补充一点,您在 crontab 中将您的 shell 指定为
/bin/sh(这是默认设置),但是您的脚本需要一个 bash shell(与 sh 不同)。检查使用sh yourScript.sh运行脚本是否仍然有效?