backup-server-ftp/README.md

70 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

▎Описание скрипта резервного копирования
Этот скрипт предназначен для автоматизации процесса резервного копирования файлов и директорий на удаленный FTP-сервер. Он поддерживает отправку уведомлений о статусе резервного копирования через Telegram и Gotify.
▎Функциональные возможности
• Чтение конфигурации: Скрипт загружает параметры из файла backup.ini, который содержит настройки для резервного копирования и отправки уведомлений.
• Проверка наличия необходимых утилит: Перед выполнением резервного копирования скрипт проверяет наличие необходимых утилит (tar, ftp, lftp, curl).
• Создание временной директории: Скрипт создает временную директорию для хранения резервных файлов.
• Исключения: Поддержка исключений для файлов и директорий, которые не должны быть включены в резервную копию.
• Отправка уведомлений: Возможность отправки уведомлений о статусе резервного копирования через Telegram и Gotify.
▎Установка
1. Убедитесь, что у вас установлены необходимые утилиты:
``` bash
sudo apt-get install tar curl lftp
```
2. Создайте файл конфигурации backup.ini с необходимыми параметрами.
▎Пример файла backup.ini
``` 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]
```
▎Запуск скрипта
Запустите скрипт с правами суперпользователя:
``` bash
sudo ./backup_script.sh
```
▎Логирование
Скрипт ведет логирование всех операций в файл, имя которого формируется на основе текущей даты и времени. Логи будут содержать информацию о выполнении операций, а также сообщения об ошибках.
▎Примечания
• Убедитесь, что у вас есть права доступа на чтение файлов и директорий, которые вы хотите сохранить.
Не храните чувствительные данные (например, пароли) в открытом виде в файле конфигурации. Рассмотрите возможность использования безопасных методов хранения конфиденциальной информации.
▎Лицензия
Этот проект лицензирован под MIT License. Пожалуйста, ознакомьтесь с файлом LICENSE для получения дополнительной информации.