diff --git a/backup.ini b/backup.ini index ec39072..5382de5 100644 --- a/backup.ini +++ b/backup.ini @@ -15,4 +15,5 @@ GOTIFY_URL=http://ваш_gotify_сервер GOTIFY_APP_TOKEN=0000000 TELEGRAM_TOKEN=00000000 CHAT_ID=00000000 +TEXT_FINISH_MESSAGE="Backup finished" [END] \ No newline at end of file diff --git a/backup.sh b/backup.sh index 90f2b0e..34e7a52 100755 --- a/backup.sh +++ b/backup.sh @@ -8,14 +8,14 @@ exec &> >(tee -a "$LOG_FILE") # Проверка на выполнение скрипта с правами суперпользователя if [ "$EUID" -ne 0 ]; then - echo "Ошибка: скрипт должен быть запущен с правами суперпользователя (sudo)." + echo "Error: the script must be run with superuser rights (sudo)." exit 1 fi # Проверка наличия необходимых утилит for cmd in tar ftp lftp curl; do if ! command -v "$cmd" &> /dev/null; then - echo "Ошибка: Утилита '$cmd' не найдена. Установите её и повторите попытку." + echo "Error: $cmd is not installed." exit 1 fi done @@ -49,7 +49,7 @@ get_ini_value() { fi done < "$ini_file" - echo "Ошибка: значение для ключа '$key' в разделе '$section' не найдено." + echo "Error: Key '$key' not found in section '$section'." exit 1 } @@ -103,54 +103,54 @@ FTP_PASS="$(get_ini_value "FTP" "FTP_PASS")" # Создаем временную директорию mkdir -p "$TEMP_DIR" -echo "Создана временная директория: $TEMP_DIR" +echo "Create temp directory: $TEMP_DIR" # Проверка, включено ли резервное копирование директорий -echo "Проверка ENABLE_DIRS: $ENABLE_DIRS" +echo "Enable backup of directories: $ENABLE_DIRS" if [[ "$ENABLE_DIRS" == "true" ]]; then IFS=',' read -r -a DIR_ARRAY <<< "$DIRECTORIES" for DIR in "${DIR_ARRAY[@]}"; do if [ -d "$DIR" ]; then - cp -r "$DIR" "$TEMP_DIR/" && echo "Копирование директории $DIR завершено." || echo "Ошибка при копировании директории $DIR." + cp -r "$DIR" "$TEMP_DIR/" && echo "Copy directory $DIR completed." || echo "Error while copying directory $DIR." else - echo "Директория $DIR не найдена, пропускаем." + echo "Directory $DIR not found, skipping." fi done else - echo "Резервное копирование директорий отключено." + echo "Backup of directories is disabled." fi # Проверка, включено ли резервное копирование файлов -echo "Проверка ENABLE_FILES: $ENABLE_FILES" +echo "Enable backup of files: $ENABLE_FILES" if [[ "$ENABLE_FILES" == "true" ]]; then IFS=',' read -r -a FILE_ARRAY <<< "$FILES" for FILE in "${FILE_ARRAY[@]}"; do if [ -f "$FILE" ]; then - cp "$FILE" "$TEMP_DIR/" && echo "Копирование файла $FILE завершено." || echo "Ошибка при копировании файла $FILE." + cp "$FILE" "$TEMP_DIR/" && echo "Copy file $FILE completed." || echo "Error while copying file $FILE." else - echo "Файл $FILE не найден, пропускаем." + echo "File $FILE not found, skipping." fi done else - echo "Резервное копирование файлов отключено." + echo "Backup of files is disabled." fi # Упаковываем временную директорию в tar.gz архив -tar -czf "$TAR_NAME" -C "$TEMP_DIR" . && echo "Создан tar.gz архив: $(pwd)/$TAR_NAME" || { echo "Ошибка при создании tar.gz архива."; exit 1; } +tar -czf "$TAR_NAME" -C "$TEMP_DIR" . && echo "Created tar.gz archive: $(pwd)/$TAR_NAME" || { echo "Error while creating tar.gz archive."; rm -rf "$TEMP_DIR"; exit 1; } # Проверяем наличие файлов if [[ ! -f "$TAR_NAME" ]]; then - echo "Файл $TAR_NAME не найден." + echo "Fайл $TAR_NAME не найден." exit 1 fi if [[ ! -f "$LOG_FILE" ]]; then - echo "Файл $LOG_FILE не найден." + echo "Fайл $LOG_FILE не найден." exit 1 fi # Загружаем файлы на FTP-сервер -echo "Передача файлов по FTP ..." +echo "Sending files ..." lftp -u "$FTP_USER","$FTP_PASS" "$FTP_SERVER" < ftp_log.txt 2>&1 set ssl:verify-certificate no set net:timeout 10 @@ -164,18 +164,19 @@ EOF # Проверка статуса выполнения FTP команды if [ $? -ne 0 ]; then - echo "Ошибка при выполнении FTP команды." + echo "Error while sending files." rm "$TAR_NAME" exit 1 fi # Удаление временной директории и архива после завершения работы скрипта -rm -rf "$TEMP_DIR" -rm "$TAR_NAME" -rm "$LOG_FILE" +rm -rf "$TEMP_DIR" || { echo "Error while deleting temp directory."} +echo "Temp directory deleted." +rm "$TAR_NAME" || { echo "Error while deleting tar.gz archive."} +echo "Tar.gz archive deleted." +rm "$LOG_FILE" || { echo "Error while deleting log file."} +echo "Log file deleted." -echo "Временная директория $TEMP_DIR удалена." -echo "Архив $TAR_NAME удален." -echo "Лог-файл $LOG_FILE удален." -get_sent_message "Succes" -echo "Резервное копирование завершено успешно." +echo "Sending message..." +get_sent_message "$(get_ini_value "SENT" "TEXT_FINISH_MESSAGE")" || echo "Error while sending message." +echo "Backup completed." \ No newline at end of file