From 8a3e19fb25af4fe4a2a6005b75acb73e43f5cf21 Mon Sep 17 00:00:00 2001 From: stirelshka8 Date: Tue, 28 Jan 2025 14:21:43 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=BD=D1=81=D1=82=D1=80=D1=83=D0=BA?= =?UTF-8?q?=D1=86=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 58 +++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 46 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 2971ff0..c5a9a60 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -▎Описание скрипта резервного копирования +

▎Описание

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

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

• Чтение конфигурации: Скрипт загружает параметры из файла backup.ini, который содержит настройки для резервного копирования и отправки уведомлений. @@ -14,7 +14,7 @@ • Отправка уведомлений: Возможность отправки уведомлений о статусе резервного копирования через Telegram и Gotify. -▎Установка +

Ручная установка

1. Убедитесь, что у вас установлены необходимые утилиты: @@ -22,9 +22,13 @@ sudo apt-get install tar curl lftp ``` -2. Создайте файл конфигурации backup.ini с необходимыми параметрами. +2. Скопируйте файл скрипта .sh и файл конфигурации .ini в директорию /opt/adminlabs_backup. -▎Пример файла backup.ini +3. Командой sudo chmod +x backup_script.sh сделайте скрипт исполняемым. + +2. Отредактируйте файл конфигурации backup.ini. + +

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

``` ini [SENT] @@ -47,26 +51,54 @@ FTP_USER=ваш_пользователь FTP_PASS=ваш_пароль [END] ``` +

▎Описание переменных

-▎Запуск скрипта +TELEGRAM_TOKEN - токен вашего бота Telegram + +CHAT_ID - ID вашего чата Telegram + +GOTIFY_URL - адрес вашего Gotify + +GOTIFY_APP_TOKEN - токен вашего приложения Gotify + +DIRS - список директорий для резервной копии + +FILES - список файлов для резервной копии + +SKIP_FILES - список файлов, которые не должны быть включены в резервную копию + +SKIP_DIRS - список директорий, которые не должны быть включены в резервную копию + +ENABLE_DIRS - флаг, указывающий, нужно ли включать директории в резервную копию + +ENABLE_FILES - флаг, указывающий, нужно ли включать файлы в резервную копию + +FTP_SERVER - адрес вашего FTP-сервера + +FTP_USER - имя пользователя вашего FTP-сервера + +FTP_PASS - пароль вашего FTP-сервера + +

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

Запустите скрипт с правами суперпользователя: ``` bash sudo ./backup_script.sh ``` -▎Логирование +

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

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

▎Примечание

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

▎Автоматическая установка

• Для автоматической установки используйте выполните команду: @@ -85,8 +117,10 @@ sudo crontab -e ``` Добавьте новую строку для вашего скрипта в формате: - -* * * * * /путь/к/вашему/скрипту +``` bash + +* * * * * /opt/adminlabs_backup/backup_script.sh +``` Здесь * обозначает минуты, часы, дни месяца, месяцы и дни недели соответственно. @@ -130,6 +164,6 @@ sudo crontab -e После добавления нужной строки сохраните файл и выйдите из редактора. Cron автоматически применит изменения, и ваш скрипт будет выполняться по заданному расписанию. -▎Лицензия +

▎Лицензия

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