Skip to content

Утилита для создания резервных копий

License

Notifications You must be signed in to change notification settings

freezerxp/py_backup_tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Утилита для создания резервных копий

Набор python-скриптов, позволяющих автоматизировать процесс создания резервных копий:

  • файлы (папки)
  • базы данных MySQL
  • репозитории на github

Скрипт можно добавить в планировщик заданий для автоматического выполнения резервного копирования.

Основные требования:

  • Python: для работы скриптов
  • git: для резервного копирования репозиториев
  • mysql: СУБД и создание дампов
  • 7zip: создание архивов

Используются дополнительные модули Python:

  • humanize: приведение размеров файлов в человекочитаемый формат
  • send2trash: удаление файлов, т.к. через shutil не удавалось удалить
  • rocketchat_API: для отправки уведомлений в Rocket.Chat
  • python-telegram-bot: для отправки уведомлений в Телеграм

Модули можно установить через консоль: pip install humanize и т.д.

Настройка

Для использования необходимо выполнить настройку через файл config.json

  • machineName - имя компьютера, на котором выполняется резервное копирование. Используется для пути к бэкапам
  • backupFolder - путь к папке, в которой будут создаваться резервные копии
  • files - массив объектов, которые содержат:
    • path - папка, для которой необходимо создать бэкап
    • alias - псевдоним, используется для пути к бэкапам
  • mysql - массив оъектов:
    • alias - псевдоним экземпляра mysql, используется для пути к бэкапам
    • auth.user - пользователь БД
    • auth.pass - пароль пользователя
    • dbs - массив имен баз данных
  • paths - пути
    • sevenzip - к 7z.exe
    • mysqldump - к mysqldump.exe
    • gitExt - к git.exe
  • git - настройки резеврного копирования репозиториев
    • repositories - массив объектов:
      • owner - владелец репозитория
      • name - имя репозитория
    • user - пользователь
    • token - токен (Fine-grained personal access token, получить можно здесь: https://github.com/settings/tokens?type=beta)
  • rocketChat -настройка уведомлений в Rocket.Chat
    • enable - true/false, включено/выключено
    • server - сервер rocket.chat
    • user - пользователь, от имени коготорого будут отправляться сообщения
    • pass - пароль пользователя
    • channel - канал (чат), в который будут отправляться уведомления
  • telegram - настройка уведомлений в ТГ
    • enable - включено/выключено
    • token - api-токен бота, который будет отправлять сообщения
    • chatId - id чата, в который будет отправляться сообщение

About

Утилита для создания резервных копий

Resources

License

Stars

Watchers

Forks

Languages