为什么我无法使用安装在 debian wheezy 服务器上的默认 cron 来获取文件?

为什么我无法使用安装在 debian wheezy 服务器上的默认 cron 来获取文件?

我使用 cron 已经很多年了。为了一次加载所有环境变量,我在 crontab 中获取的专用文件(通常但不总是 .bashrc)中定义它们:

* * * * * (. /home/me/my_environment_variables.sh; my_script.sh)

不幸的是,这个技巧无法在我最近被要求迁移到的 debian wheezy 服务器上运行。更具体地说,所有发生的情况就好像源命令被忽略一样:执行 my_script.sh 但环境变量为空,因此脚本的结果不是预期的结果。我实在不明白这个问题。一切都在我的 ubuntu 上完美运行

安装的 cron 软件包是“3.0pl1-124”。

您知道如何解决或绕过这个问题吗?

PS:以这种方式定义环境变量似乎有效:

* * * * * (export OPTOS_HOME=/home/me/src/optos; my_script.sh)

然而,以这种方式定义多个环境变量并不方便。

答案1

.是一个内部 shell 命令。检查 cron 使用的 shell(默认为 /bin/sh)。

替代解决方案是创建一个包装脚本并将这些命令放入其中。它肯定会起作用。

相关内容