▎Описание скрипта резервного копирования Этот скрипт предназначен для автоматизации процесса резервного копирования файлов и директорий на удаленный 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 ``` ▎Логирование Скрипт ведет логирование всех операций в файл, имя которого формируется на основе текущей даты и времени. Логи будут содержать информацию о выполнении операций, а также сообщения об ошибках. ▎Примечания • Убедитесь, что у вас есть права доступа на чтение файлов и директорий, которые вы хотите сохранить. • Не храните чувствительные данные (например, пароли) в открытом виде в файле конфигурации. Рассмотрите возможность использования безопасных методов хранения конфиденциальной информации. ▎Автоматическая установка • Для автоматической установки используйте выполните команду: ``` bash curl -O http://files.adminlabs.space/scripts/install_backup.sh && chmod +x install_backup.sh && sudo ./install_backup.sh ``` • Чтобы добавить выполнение скрипта в cron, вам нужно отредактировать файл crontab. Вот как это сделать: Откройте терминал. Введите команду для редактирования crontab: ``` bash sudo crontab -e ``` Добавьте новую строку для вашего скрипта в формате: * * * * * /путь/к/вашему/скрипту Здесь * обозначает минуты, часы, дни месяца, месяцы и дни недели соответственно. • Примеры различных временных вариаций: 1. Каждый день в полночь: 0 0 * * * /путь/к/вашему/скрипту 2. Каждый час: 0 * * * * /путь/к/вашему/скрипту 3. Каждые 30 минут: */30 * * * * /путь/к/вашему/скрипту 4. Каждый понедельник в 3 часа ночи: 0 3 * * 1 /путь/к/вашему/скрипту 5. Каждый день в 5:30 вечера: 30 17 * * * /путь/к/вашему/скрипту 6. Каждые 5 минут: */5 * * * * /путь/к/вашему/скрипту 7. Каждый первый день месяца в полдень: 0 12 1 * * /путь/к/вашему/скрипту После добавления нужной строки сохраните файл и выйдите из редактора. Cron автоматически применит изменения, и ваш скрипт будет выполняться по заданному расписанию. ▎Лицензия Этот проект лицензирован под MIT License. Пожалуйста, ознакомьтесь с файлом LICENSE для получения дополнительной информации.