30 lines
732 B
Bash
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."
|