cron 无法使用自定义路径中符号链接的命令

cron 无法使用自定义路径中符号链接的命令

job.sh我有一个脚本/home/user/scripts,然后符号链接到/home/user/bin/job.自定义二进制文件路径已包含在 中,因此每当我从 cli.bashrc发出命令时,一切都会按预期工作。job param1 etc

当所述命令必须通过 cronjob 运行时,它不会。另一方面,如果 cronjob 引用完整路径(/home/user/bin/job而不是简单的job),则一切运行正常。

有关如何解决这个问题的任何指示吗?

答案1

cron故意在有限的环境中运行(包括受限路径,它与标准 shell 的路径不同)。

您要么需要运行一个脚本(包括脚本的完整路径),然后在内部设置路径变量,要么需要在行crontab本身中设置路径。

其中一个例子是,

12 0 * * * (export PATH=$PATH:/somedirectory; job)

实际上,更安全的做法是仅包含在 中运行的任何内容的完整路径crontab,并在执行的脚本中正确设置路径cron

相关内容