service cron status
и в результате выводится cron is running
- из чего я делаю вывод, что cron - работает в фоне, но я ожидаю в лог-файле увидеть вывод временной метки, задание которой описано сценарии (см. строку с COPY crontab /etc/cron.d/my-cron-job в Dockerfile) , но cat /var/log/cron.log
показывает что файл лога пуст. ... я пробовал задавать различные варианты, даже не связанные с выводом данных в файл лога (ну мало ли, вдруг с правами что-то и т.п.), а направленные напрямую на взаимодействие с yii-логикой , но ни в одном из вариантов я не видел результатов выполнения задания - ни внутри контейнера, ни в подключаемом каталоге проекта, ни в БД. cat /var/log/cron.log
ничего не даёт - файл пуст, т.е. задание не выполняется получается. В других похожих тестах я пытался выполнить логику через php yii *, но никаких ожидаемых изменений в хранимых данных - так же не происходило cron:
build: cron
volumes:
- ~/.composer-docker/cache:/root/.composer/cache:delegated
- /etc/localtime:/etc/localtime:ro
- ./:/app
working_dir: /app/cron
restart: unless-stopped
* * * * * date >> /var/log/cron.log
# Используем базовый образ
FROM yiisoftware/yii2-php:7.4-fpm-nginx
# Устанавливаем cron и другие необходимые пакеты
RUN apt-get update && apt-get install -y cron
# Создаем файл для логов
RUN touch /var/log/cron.log && chmod 0666 /var/log/cron.log
# Копируем crontab файл в контейнер
COPY crontab /etc/cron.d/my-cron-job
# Даем права на выполнение crontab файла
RUN chmod 0644 /etc/cron.d/my-cron-job
# Применяем crontab
RUN crontab /etc/cron.d/my-cron-job
# Запускаем cron в foreground режиме
CMD ["cron", "-f"]