Go to file
2025-01-25 12:40:18 +03:00
backup.ini Добавлено описание 2025-01-25 12:40:18 +03:00
backup.sh Добавлено описание 2025-01-25 12:40:18 +03:00
README.md Добавлено описание 2025-01-25 12:40:18 +03:00

▎Описание скрипта резервного копирования

Этот скрипт предназначен для автоматизации процесса резервного копирования файлов и директорий на удаленный FTP-сервер. Он поддерживает отправку уведомлений о статусе резервного копирования через Telegram и Gotify.

▎Функциональные возможности

• Чтение конфигурации: Скрипт загружает параметры из файла backup.ini, который содержит настройки для резервного копирования и отправки уведомлений.

• Проверка наличия необходимых утилит: Перед выполнением резервного копирования скрипт проверяет наличие необходимых утилит (tar, ftp, lftp, curl).

• Создание временной директории: Скрипт создает временную директорию для хранения резервных файлов.

• Исключения: Поддержка исключений для файлов и директорий, которые не должны быть включены в резервную копию.

• Отправка уведомлений: Возможность отправки уведомлений о статусе резервного копирования через Telegram и Gotify.

▎Установка

  1. Убедитесь, что у вас установлены необходимые утилиты:

    sudo apt-get install tar curl lftp
    
  2. Создайте файл конфигурации backup.ini с необходимыми параметрами.

▎Пример файла backup.ini

[SENT]
TELEGRAM_TOKEN=ваш_телеграм_токен
CHAT_ID=ваш_chat_id
GOTIFY_URL=http://ваш_адрес_gotify
GOTIFY_APP_TOKEN=ваш_gotify_app_token

[Backup]
DIRS=/path/to/dir1,/path/to/dir2
FILES=/path/to/file1,/path/to/file2
SKIP_FILES=/path/to/skip_file1,/path/to/skip_file2
SKIP_DIRS=/path/to/skip_dir1,/path/to/skip_dir2
ENABLE_DIRS=true
ENABLE_FILES=true

[FTP]
FTP_SERVER=ftp://ваш_ftp_сервер
FTP_USER=ваш_пользователь
FTP_PASS=ваш_пароль
[END]

▎Запуск скрипта

Запустите скрипт с правами суперпользователя:

sudo ./backup_script.sh

▎Логирование

Скрипт ведет логирование всех операций в файл, имя которого формируется на основе текущей даты и времени. Логи будут содержать информацию о выполнении операций, а также сообщения об ошибках.

▎Примечания

• Убедитесь, что у вас есть права доступа на чтение файлов и директорий, которые вы хотите сохранить.

Не храните чувствительные данные (например, пароли) в открытом виде в файле конфигурации. Рассмотрите возможность использования безопасных методов хранения конфиденциальной информации.

▎Лицензия

Этот проект лицензирован под MIT License. Пожалуйста, ознакомьтесь с файлом LICENSE для получения дополнительной информации.