我正在尝试为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脚本中的命令未执行。
答案 0 :(得分:0)
尝试安装邮件服务
sudo apt-get install postfix