У меня есть простой сценарий оболочки для запуска команды docker ниже, который отлично работает, если я запускаю его вручную. Однако это не сработало, если я запустил его с помощью cron. Я не видел входа в систему /var/log/cron..
И я протестировал cron, создав простой скрипт для доступа к файлу, и он работал нормально. Cron не работает с докером?
cat start.sh
#!/bin/bash
docker run --shm-size 2g --rm --net sitespeedio_default \
-v "$(pwd):/sitespeed.io" sitespeedio/sitespeed.io:24.6.0\
--pageCompleteWaitTime 30000 \
lex-login.js lex-view_call_call_only.js -n 1 \
--influxdb.host influxdb \
--influxdb.username $INFLUX_U \
--influxdb.password $INFLUX_P --spa --multi
crontab -l
2 * * * * /home/ec2-user/start.sh >/dev/null 2>&1
@DavidMaze Мне нужно было убедиться, что у пользователя, запускающего crontab, есть Docker в пути и какую оболочку использует crontab. Он начал работать после того, как в crontab были добавлены SHELL и PATH.


Обновите содержимое crontab до:
2 * * * * /bin/bash /home/ec2-user/start.sh >/dev/null 2>&1
Затем убедитесь, что у пользователя crontab есть разрешение на запуск этого скрипта.
Строка crontab(5) явно подавляет вывод команды, возможно, поэтому вы ничего не видите. Скрипт исполняемый? Действительно ли в вашей среде есть
/bin/bash(образы Docker на основе Alpine не будут)? Вам нужно быть root, чтобы запускатьdockerкоманды?