70 lines
3.7 KiB
Markdown
70 lines
3.7 KiB
Markdown
▎Описание скрипта резервного копирования
|
||
|
||
Этот скрипт предназначен для автоматизации процесса резервного копирования файлов и директорий на удаленный 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 для получения дополнительной информации. |