команда cd для сценария оболочки рабочего каталога - PullRequest
0 голосов
/ 31 октября 2019

Я пытаюсь настроить аналитику для 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

Команды в сценарии оболочки не выполняются.

1 Ответ

0 голосов
/ 31 октября 2019

Попробуйте установить почтовый сервис

sudo apt-get install postfix
...