@@ -85,14 +85,43 @@ if [ -n "$SCHEDULE" ]; then
8585 echo " Setting up cron job with schedule: $SCHEDULE "
8686 PYTHON_BIN=$( command -v python3 2> /dev/null || command -v python 2> /dev/null || echo python3)
8787 echo " Using Python interpreter for cron: $PYTHON_BIN "
88+
89+ # Docker connection settings for cron-triggered backups
90+ CRON_ENV_VARS=" "
91+ if [ -n " $DOCKER_HOST " ]; then
92+ CRON_ENV_VARS=" $CRON_ENV_VARS DOCKER_HOST=$DOCKER_HOST "
93+ fi
94+ if [ -n " $DOCKER_SOCK_PATH " ]; then
95+ CRON_ENV_VARS=" $CRON_ENV_VARS DOCKER_SOCK_PATH=$DOCKER_SOCK_PATH "
96+ fi
97+ if [ -n " $DOCKER_TLS_VERIFY " ]; then
98+ CRON_ENV_VARS=" $CRON_ENV_VARS DOCKER_TLS_VERIFY=$DOCKER_TLS_VERIFY "
99+ fi
100+ if [ -n " $DOCKER_CERT_PATH " ]; then
101+ CRON_ENV_VARS=" $CRON_ENV_VARS DOCKER_CERT_PATH=$DOCKER_CERT_PATH "
102+ fi
103+ CRON_ENV_VARS=" ${CRON_ENV_VARS# " " } "
104+
105+ if [ -n " $CRON_ENV_VARS " ]; then
106+ echo " Cron Docker env: $CRON_ENV_VARS "
107+ else
108+ echo " Cron Docker env: none provided (falling back to container defaults)"
109+ fi
110+
111+ CRON_CMD=" cd /app &&"
112+ if [ -n " $CRON_ENV_VARS " ]; then
113+ CRON_CMD=" $CRON_CMD $CRON_ENV_VARS "
114+ fi
115+ CRON_CMD=" $CRON_CMD $PYTHON_BIN src/unraid_config_guardian.py --output /output >> /output/guardian.log 2>&1"
116+
88117 if [ " $( id -u) " = " 0" ]; then
89118 # Running as root, use crontab for guardian user
90- echo " $SCHEDULE cd /app && $PYTHON_BIN src/unraid_config_guardian.py --output /output >> /output/guardian.log 2>&1 " | crontab -u guardian - 2> /dev/null || true
119+ echo " $SCHEDULE $CRON_CMD " | crontab -u guardian - 2> /dev/null || true
91120 # Start cron in background
92121 cron & 2> /dev/null || true
93122 else
94123 # Running as non-root, use user crontab
95- echo " $SCHEDULE cd /app && $PYTHON_BIN src/unraid_config_guardian.py --output /output >> /output/guardian.log 2>&1 " | crontab - 2> /dev/null || true
124+ echo " $SCHEDULE $CRON_CMD " | crontab - 2> /dev/null || true
96125 fi
97126fi
98127
0 commit comments