Я хочу, чтобы мой контейнер (работающий на галактике) выполнял некоторые обычные задачи, используя cron.Для этого я в основном следовал приведенным здесь инструкциям: Как запустить задание cron внутри контейнера Docker?
После развертывания приложения и просмотра запущенных процессов я вижу cron, но заданиене работает и /var/log/cron.log пуст.
это мой файл cron в /etc/cron.d/
@reboot root /myscript.sh >> /var/log/cron.log 2>&1
10 20 * * * root /myscript.sh >> /var/log/cron.log 2>&1
это процессы, которые я получаюps aux
(все работает как root):
/dev/init -- /bin/sh -c cron && /app/run.sh
/bin/sh -c cron && /app/run.sh
cron
node main.js
ps aux
при попытке контейнера на моей хост-машине cron-задание запускается так, как должно, я вижу, что скрипт работает, вывод создан и получение файла журналазаполнено.
это часть моего Dockerfile для установки cronjob:
# install cronjob
COPY mycron /etc/cron.d/mycron
COPY myscript.sh /myscript.sh
# set rights for cron job
RUN chmod 0644 /etc/cron.d/mycron
# apply cron job
RUN crontab /etc/cron.d/mycron
RUN touch /var/log/cron.log
# start cron, start app
CMD cron && /app/run.sh
в логах галактики нет ошибок.
если я позволю серверу работатьскрипт работает, так что похоже проблема с cron.почему бы не начать?