В моем файле docker-compose есть скрипт, который запускается cron
script1:
entrypoint: /app/cron-entrypoint.sh
...
command:
- /bin/bash
- -c
- |
cat cronjob | crontab - && cron -f
cronjob содержит * * * * * SHELL=bash cd /app && perl -Ilib test.pl > /proc/1/fd/1 2>&1
Проблема в том, что Я не вижу STDOUT от test.pl
.STDERR
в порядке.print STDERR "STDERR\n";
тоже в порядке.
Когда я комментирую, entrypoint: /app/cron-entrypoint.sh
STDOUT появился.
cron-entrypoint.sh
содержимое:
#!/usr/bin/env bash
set -e
env | while read -r LINE; do
IFS="=" read VAR VAL <<< ${LINE}
sed --in-place "/^${VAR}/d" /etc/security/pam_env.conf || true
echo "${VAR} DEFAULT=\"${VAL}\"" >> /etc/security/pam_env.conf
done
exec "$@"
(что делает ENV
переменными доступными дляскрипты, работающие под cron)
Может кто-нибудь догадаться, почему произошло такое странное поведение?