如果我从/home/<user>/<dir>/script.sh
运行脚本,以root身份cron的工作得很好。但是,如果我从/root/<dir>/script.sh
运行脚本(再次以root身份),cron似乎不起作用。的Cron不运行从/根
回答
我想你需要添加一些信息。我猜这是一个权限的事情。在你的crontab中添加文件,目录和行的权限,这样我们可以提供帮助。另外,如果你把它放在/ root中,你是否在root的crontab中运行它?
这可能是因为你正在寻找脚本相对目录/文件被从/家运行时,它位于/而不是从/根,因为/根不是在/ home /根,也没有它看起来像用户homefolder在/ home/
你可以检查,看看它是否正在寻找相关文件,或发布的脚本?
另一个说明,为什么你不把它设置为从用户的homefolder运行呢?
记住环境 - 尤其是当cron
而不是root身份运行。当cron运行某些东西时,与通过at
运行命令不同,您的环境可能没有太多设置。目前还不清楚你的当前目录是什么。因此,对于将由cron
运行的命令,请使用脚本(如您已经这样做),并确保它设置足够的环境以使其运行。并确保您的环境设置代码不是交互式的!
在我的机器,我有这样一个机制,cron的条目(例如)读取:
23 1 * * 1-5 /usr/bin/ksh /work1/jleffler/bin/Cron/weekday
在Cron
目录weekday
脚本是一个标准的脚本的链接,首先设置环境和然后运行命令/work1/jleffler/bin/weekday
(在这种情况下 - 它使用命令的名称来确定要运行的内容)。
在Cron
目录中的实际脚本是:
: "$Id: runcron.sh,v 2.1 2001/02/27 00:53:22 jleffler Exp $"
#
# Commands to be performed by Cron (no debugging options)
# Set environment -- not done by cron (usually switches HOME)
. $HOME/.cronfile
base=`basename $0`
cmd=${REAL_HOME:-/real/home}/bin/$base
if [ ! -x $cmd ]
then cmd=${HOME}/bin/$base
fi
exec $cmd ${@:+"[email protected]"}
我已经使用了一段时间了 - 这个版本自2001年 - 和它的作品一种享受我。我正在使用基本(Sun Solaris 10)实现cron
;在其他平台上的cron
新版本中可能会有新功能,以使其中的一些不必要。 (该$REAL_HOME
的东西是我的怪事;假装它说$HOME
- 尽管这使得一些脚本不需要你的。)的.cronfile
负责环境设置 - 它确实不少,但是这是我的问题,不是你的。
已经使用“的cron”相抵触时,在过去的各种默认$路径运行,我总是充满了绝对的$ PATH拼写为每个可执行文件和每个目标文件。我总是假设'cron'没有设置$ PATH,并且没有当前工作目录。
换句话说不要使用如下命令
"myprocess abc*.txt"
,但这样做完全一样
"/usr/localbin/myprocess /home/jvs/abc*.txt".
或者,创建一个bash脚本,做这项工作,并调用bash脚本具有完全绝对路径,如
"/usr/local/bin/myprocess_abc_txts".
如果您需要在脚本中有一定的灵活性,请使用env在你用'cron'调用的bash脚本中专门设置的修饰变量。
另一种方式来运行sh脚本是将您的bash脚本在/usr/bin
目录,并简单地运行命令bash yourscript.sh
无需添加/usr/bin/
目录
- 1. Cron xdotool不运行
- 2. 命令从命令行运行,而不是从cron运行?
- 3. bash脚本从命令行运行但不是从cron运行
- 4. python脚本不能从cron运行
- 5. 从cron-job.org运行JS
- 6. 无法从Cron运行Python
- 7. 从cron运行sh文件
- 8. 从cron作业运行pandas.io.gbq
- 9. 从Cron运行Rails任务
- 10. 从cron运行casper.js脚本
- 11. 如何根据另一个cron作业的结果运行(或不)cron作业
- 12. cron为什么不运行?
- 13. Cron未运行
- 14. 从cron运行rethinkdb-dump的问题
- 15. 从一个cron作业执行/运行多个php cron脚本
- 16. 为什么我的命令行不能从cron运行?
- 17. cron运行不的NodeJS工作
- 18. 的Cron不运行bash脚本
- 19. 随机cron运行
- 20. 运行Cron作业
- 21. 用cron运行raketask
- 22. 如何从cron运行的Perl脚本中运行shell脚本?
- 23. 运行的cron产生不同的结果,运行其命令
- 24. Shell脚本从命令行运行,而不是cron
- 25. 使用cron从shell_exec运行phantomjs
- 26. Rails3,从cron运行rake任务
- 27. 从浏览器运行cron作业
- 28. bash脚本从壳运行,而不是从cron作业
- 29. 错误运行的cron SH
- 30. 我的Cron没有运行
没有代码它会得到难以;-) – 2009-02-28 21:42:37