我正在尝试设置2个域的分析。为此,我使用了sitespeed.io。当我以root用户身份登录到我的Ubuntu服务器并运行shell脚本时,输出是我想要的。
但当我将其作为crontab运行时,该命令不会执行。它选取的工作目录是/root,这是不正确的,因为docker-compose.yml文件位于/home/管理员/目录中。
我找不出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 status 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 rootshell脚本中的命令未被执行。
发布于 2019-10-31 12:28:53
尝试安装邮件服务
sudo apt-get install postfixhttps://stackoverflow.com/questions/58636921
复制相似问题