Я пытаюсь настроить аналитику для 2 доменов. Для этого я использовал sitespeed.io. Когда я захожу на сервер Ubuntu от имени пользователя root и запускаю сценарий оболочки, вывод получается так, как я хочу.
Но когда я запускаю его как crontab, команда не выполняется. Рабочий каталог, который он выбирает, является / root, что неверно, поскольку файл docker-compose.yml находится в каталоге / home / administrator /.
Я не могу определить, какая часть сценария оболочкиявляется причиной этого.
Сценарий оболочки:
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 root
Команды в сценарии оболочки не выполняются.