docs: add DOCKER_GUIDE.md and fix .env parsing; chore: update docker and script configurations
This commit is contained in:
37
scripts/backup.sh
Normal file
37
scripts/backup.sh
Normal file
@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
# Backup script for Synology DS218+
|
||||
# Run via Task Scheduler every 6 hours
|
||||
|
||||
BACKUP_DIR="/volume1/btc_bot/backups"
|
||||
DB_NAME="btc_data"
|
||||
DB_USER="btc_bot"
|
||||
RETENTION_DAYS=30
|
||||
DATE=$(date +%Y%m%d_%H%M)
|
||||
|
||||
echo "Starting backup at $(date)"
|
||||
|
||||
# Create backup directory if not exists
|
||||
mkdir -p $BACKUP_DIR
|
||||
|
||||
# Create backup
|
||||
docker exec btc_timescale pg_dump -U $DB_USER -Fc $DB_NAME > $BACKUP_DIR/btc_data_$DATE.dump
|
||||
|
||||
# Compress
|
||||
if [ -f "$BACKUP_DIR/btc_data_$DATE.dump" ]; then
|
||||
gzip $BACKUP_DIR/btc_data_$DATE.dump
|
||||
echo "Backup created: btc_data_$DATE.dump.gz"
|
||||
|
||||
# Calculate size
|
||||
SIZE=$(du -h $BACKUP_DIR/btc_data_$DATE.dump.gz | cut -f1)
|
||||
echo "Backup size: $SIZE"
|
||||
else
|
||||
echo "Error: Backup file not created"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Delete old backups
|
||||
DELETED=$(find $BACKUP_DIR -name "*.dump.gz" -mtime +$RETENTION_DAYS | wc -l)
|
||||
find $BACKUP_DIR -name "*.dump.gz" -mtime +$RETENTION_DAYS -delete
|
||||
|
||||
echo "Deleted $DELETED old backup(s)"
|
||||
echo "Backup completed at $(date)"
|
||||
Reference in New Issue
Block a user