1

我有一个 Ubuntu 服务器 10。

在根 cron 中,我有一个脚本可以每天在同一时间运行。

手动运行脚本运行良好,但在 cron 中它不运行。

在系统日志中,我得到了这个:

Aug 23 09:22:01 database CRON[6884]: (root) CMD (./bkp.sh >> /tmp/bkp.log)
Aug 23 09:22:01 database CRON[6883]: (CRON) error (grandchild #6884 failed with exit status 2)

我找到了问题的可能根源,我在脚本中添加了一些日志(回声)......

在脚本执行期间,它退出“函数”定义......

看来我无权访问命令“功能”

我该如何解决这个问题?

4

3 回答 3

0

这是我在谷歌搜索“cron 环境变量”时得到的链接。它可能会有所帮助。喜欢的人还有很多:)

于 2012-08-23T12:55:29.480 回答
0

将您的脚本放在以下目录中,然后它应该每天运行。

/etc/cron.daily/
于 2012-08-23T14:27:17.640 回答
0

由 启动的 Shell 脚本cron必须仔细指定它们运行的​​环境。在其中运行的 Shellcron将是非交互式的,这意味着它们不会读取通常设置的/etc/profile位置。$PATH这意味着您需要指定脚本中调用的所有可执行文件的路径。

如果您运行大量 cron 脚本,可能值得花时间编写一个小的 shell 脚本,该脚本将定义和导出要在脚本中使用的环境变量,以$PATH.

于 2012-08-23T12:43:43.257 回答