工作目录外壳脚本的cd命令

时间:2019-10-31 04:27:43

标签: shell docker ubuntu cron docker-compose

我正在尝试为2个域设置分析。我为此使用sitespeed.io。当我以root用户身份登录Ubuntu服务器并运行shell脚本时,输出就如我所愿。

但是当我将其作为crontab运行时,该命令未执行。它选择的工作目录是/ root,这是不正确的,因为docker-compose.yml文件位于/ home / administrator /目录中。

我无法弄清楚shell脚本的哪一部分是造成这种情况的原因。

Shell脚本:

dir=$PWD
cd /home/administrator/ && echo $dir
(cd /home/administrator/ && docker-compose run sitespeed.io https://example.com/ --graphite.host=graphite)
(cd /home/administrator/ && docker-compose run sitespeed.io https://example2.com/ --graphite.host=graphite)

Crontab代码

*/10 * * * * /home/administrator/dataload.sh >> /home/administrator/dataload.log

日志文件仅包含/ root

systemctl状态cron提供以下内容。

Oct 31 09:50:01 ubuntu40new CRON[20119]: pam_unix(cron:session): session opened for user root by (uid=0)
Oct 31 09:50:01 ubuntu40new CRON[20120]: (root) CMD (/home/administrator/dataload.sh >> /home/administrator/dataload.log)
Oct 31 09:50:01 ubuntu40new CRON[20119]: (CRON) info (No MTA installed, discarding output)
Oct 31 09:50:01 ubuntu40new CRON[20119]: pam_unix(cron:session): session closed for user root

shell脚本中的命令未执行。

1 个答案:

答案 0 :(得分:0)

尝试安装邮件服务

sudo apt-get install postfix