auto backup and send via telegram
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user