Files
hossein-por-shop/backup/backup.sh
T
2025-02-24 23:35:42 +03:30

27 lines
720 B
Bash

#!/bin/sh
. /etc/profile
echo "Cron job triggered at $(date)" >> /var/log/cron/cron.log
echo 'started the backup'
export PGPASSWORD=$PG_PASSWORD
TELEGRAM_API="https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendDocument"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="backup_${TIMESTAMP}.sql"
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!"
exit 1
fi
zip -j /backups/$ZIP_FILE /backups/$BACKUP_FILE
curl -F chat_id=$TELEGRAM_CHAT_ID \
-F document=@/backups/$ZIP_FILE \
$TELEGRAM_API
ls -t /backups/*.zip | tail -n +4 | xargs rm -f
ls -t /backups/*.sql | tail -n +4 | xargs rm -f