Cron в контейнере Dockera не работает
Привет. Не могу понять почему не работает. Dockerfile такой:
FROM python:3.11.9-alpine3.20
RUN apk add --no-cache htop coreutils
RUN pip3 install --no-cache --upgrade pip setuptools
RUN pip install datetime
ADD skript123.sh /opt/skript123.sh
ADD pyskript.py /opt/pyskript.py
RUN chmod 0755 /opt/skript123.sh
RUN chmod 0755 /opt/pyskript.py
COPY cronjob /etc/cron.d/cronjob
RUN chmod 0755 /etc/cron.d/cronjob
RUN crontab /etc/cron.d/cronjob
CMD [ "/usr/sbin/crond", "-d", "4" ]
Содержимое cronjob: 0,5,10,15,20,25,30,35,40,45,50,55 * * * * sh /opt/skript123.sh | grep blablabla | awk ‘{print $5 «\t» $9}’ > file.txt; python3 /opt/pyskript.py >> report.txt
Запускаю: docker run -it --rm -p 222:21 4d49a7385112 /bin/sh (энтрипойн пока шелл, крон не запущен)
Смотрю crontab -l и вижу что там всё ок, задание есть.
Выполняю задачу из крона вручную: sh /opt/skript123.sh | grep blablabla | awk '{print $5 "\t" $9}' > file.txt; python3 /opt/pyskript.py >> report.txt
Скрипт отрабатывает, результирующий файл report.txt есть. Стартую крон так: crond -f -S В логи получаю: (crond[11]: crond (busybox 1.36.1) started, log level 8) Жду запуска, вижу:
crond[11]: USER root pid 12 cmd sh /opt/skript123.sh | grep blablabla | awk '{print $5 "\t" $9}' > file.txt; python3 /opt/pyskript.py >> report.txt
Ну типа всё работает. НО Скрипт не запущен. Результируещего файла нет.
Я если честно уже умаялся. Пробовал по разному стартовать crond. Примерно такой же результат с мейджем 3.11.9-bullseye. (только там просто командой CMD cron запускал. И тоже не работает ничего!) ЧЯДНТ?