From 6649f5eecbc7f6dadc2787ac6a4806355de835e6 Mon Sep 17 00:00:00 2001 From: Parsa Nazer Date: Tue, 25 Feb 2025 00:00:29 +0330 Subject: [PATCH] update backup cron bug --- backup/backup.sh | 20 ++++++++++++++------ backup/crontab | 5 ----- backup/dockerfile | 12 ++++++++---- 3 files changed, 22 insertions(+), 15 deletions(-) diff --git a/backup/backup.sh b/backup/backup.sh index 8ad0be7..dd93e9a 100644 --- a/backup/backup.sh +++ b/backup/backup.sh @@ -1,9 +1,16 @@ #!/bin/sh -. /etc/profile -echo "Cron job triggered at $(date)" >> /var/log/cron/cron.log -echo 'started the backup' -export PGPASSWORD=$PG_PASSWORD +# Load environment variables +. /etc/profile + +# Debugging output +echo "Cron environment:" >> /var/log/cron/cron.log +env >> /var/log/cron/cron.log + + +echo "Starting backup at $(date)" >> /var/log/cron/cron.log + +export PGPASSWORD=$PG_PASSWORD TELEGRAM_API="https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendDocument" TIMESTAMP=$(date +%Y%m%d_%H%M%S) @@ -14,7 +21,7 @@ ZIP_FILE="backup_${TIMESTAMP}.zip" pg_dump -h $PG_HOST -p $PG_PORT -U $PG_USER -d $PG_DATABASE -w > /backups/$BACKUP_FILE if [ $? -ne 0 ]; then - echo "Backup failed!" + echo "Backup failed!" >> /var/log/cron/cron.log exit 1 fi @@ -24,4 +31,5 @@ curl -F chat_id=$TELEGRAM_CHAT_ID \ $TELEGRAM_API ls -t /backups/*.zip | tail -n +4 | xargs rm -f -ls -t /backups/*.sql | tail -n +4 | xargs rm -f \ No newline at end of file +ls -t /backups/*.sql | tail -n +4 | xargs rm -f +echo "Backup completed at $(date)" >> /var/log/cron/cron.log \ No newline at end of file diff --git a/backup/crontab b/backup/crontab index 11df74a..d47cb15 100644 --- a/backup/crontab +++ b/backup/crontab @@ -1,6 +1 @@ -# Add this line for environment variables -SHELL=/bin/sh -PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin - -# Schedule (runs every minute for testing) * * * * * /app/backup.sh >> /var/log/cron/cron.log 2>&1 \ No newline at end of file diff --git a/backup/dockerfile b/backup/dockerfile index 391b3d5..438a3c5 100644 --- a/backup/dockerfile +++ b/backup/dockerfile @@ -1,16 +1,20 @@ FROM alpine:3.19 RUN apk add --no-cache postgresql-client curl zip tzdata cron -RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime -RUN mkdir -p /var/log/cron +RUN mkdir -p /app /var/log/cron WORKDIR /app COPY backup.sh . COPY crontab /etc/crontabs/root RUN chmod +x backup.sh && \ chmod 0644 /etc/crontabs/root && \ - touch /var/log/cron/cron.log + touch /var/log/cron/cron.log && \ + chmod 666 /var/log/cron/cron.log -CMD ["sh", "-c", "crond -l 8 -L /var/log/cron/cron.log -f"] \ No newline at end of file + +RUN printenv | grep -E 'PG_|TELEGRAM_' >> /etc/environment + + +CMD ["sh", "-c", "crond -f -l 0 -L /var/log/cron/cron.log"] \ No newline at end of file