auto backup and send via telegram

This commit is contained in:
Parsa Nazer
2025-02-24 23:08:36 +03:30
parent 7531302b49
commit 0180f528e2
4 changed files with 55 additions and 2 deletions
+30
View File
@@ -0,0 +1,30 @@
#!/bin/sh
echo 'started the backup'
# Telegram API URL
TELEGRAM_API="https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendDocument"
# Generate timestamp
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="backup_${TIMESTAMP}.sql"
ZIP_FILE="backup_${TIMESTAMP}.zip"
# Create backup
pg_dump -h $PG_HOST -p $PG_PORT -U $PG_USER -d $PG_DATABASE > /backups/$BACKUP_FILE
# Check if backup succeeded
if [ $? -ne 0 ]; then
echo "Backup failed!"
exit 1
fi
# Zip the backup
zip -j /backups/$ZIP_FILE /backups/$BACKUP_FILE
# Send to Telegram
curl -F chat_id=$TELEGRAM_CHAT_ID \
-F document=@/backups/$ZIP_FILE \
$TELEGRAM_API
# Cleanup (keep last 3 backups)
ls -t /backups/*.zip | tail -n +4 | xargs rm -f
ls -t /backups/*.sql | tail -n +4 | xargs rm -f