#!/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 FTP_HOST="ftp.example.com" #آدرس سرور ftp FTP_USER="your_ftp_user" #نام کاربری اکانت ftp FTP_PASS="your_ftp_pass" #رمز اکانت ftp 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." # بررسی وضعیت آخرین دستور (آپلود بکاپ) if [ $? -eq 0 ]; then message="✅ بکاپ Gitea با موفقیت در تاریخ ${backup_time} انجام شد." else message="❌ بکاپ Gitea با خطا مواجه شد در تاریخ ${backup_time} . لطفاً بررسی شود!" fi # ارسال پیامک از طریق API echo "[INFO] Sending SMS notification..." curl --silent --location 'https://api2.ippanel.com/api/v1/sms/send/webservice/single' \ --header 'accept: application/json' \ --header 'apikey: OWYwOWE0MGQtMDdjNS00MjVlLWE2ZWMtYjRiZWZlMjhhOGNkYzY1MDFiMGFkNmUxYjEyYTMyMjY5NDQzMzU1YWYzN2M=' \ --header 'Content-Type: application/json' \ --data "{ \"recipient\": [\"+989303063007\"], \"sender\": \"+983000505\", \"message\": \"${message}\" }"