diff --git a/gitea_backup.sh b/gitea_backup.sh new file mode 100644 index 0000000..fee5c5f --- /dev/null +++ b/gitea_backup.sh @@ -0,0 +1,29 @@ +#!/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."