gitea-backup/gitea_backup.sh

30 lines
732 B
Bash

#!/bin/bash
DATE=$(date +"%Y-%m-%d_%H-%M")
BACKUP_NAME="gitea_backup_$DATE.tar.gz"
BACKUP_TMP="/tmp/$BACKUP_NAME"
echo "[INFO] Creating backup from Docker container..."
docker exec gitea tar -czf - /data > "$BACKUP_TMP"
if [ $? -ne 0 ]; then
echo "[ERROR] Failed to create backup!"
exit 1
fi
FTP_HOST="ftp.example.com"
FTP_USER="your_ftp_user"
FTP_PASS="your_ftp_pass"
FTP_DIR="/backups/gitea"
echo "[INFO] Uploading backup to FTP server..."
curl -T "$BACKUP_TMP" --user "$FTP_USER:$FTP_PASS" "ftp://$FTP_HOST$FTP_DIR/$BACKUP_NAME"
if [ $? -ne 0 ]; then
echo "[ERROR] Failed to upload to FTP!"
exit 2
fi
echo "[INFO] Cleaning up..."
rm -f "$BACKUP_TMP"
echo "[SUCCESS] Backup completed successfully at $DATE."