backup.py - BorgBackup automation tool
Automates full-system backups and restores for Linux using BorgBackup.
Supports Docker service control, MySQL/PostgreSQL dumps, system package and service state saving, live progress display, and full system recovery with reconfiguration.
- Full or partial system backup with BorgBackup
- MySQL and PostgreSQL database dumps
- Docker stop/start during backup
- Package, service, and cron state preservation
- Interactive archive listing and restore
- Live progress display in terminal
- Automatic dependency installation
- version 4.9 add
--tag=mytagfor add tags like2026-Jan-25_15-05-12-mytag
- Python 3.8+
- BorgBackup, parted, e2fsprogs, dosfstools
chmod +x backup.py
sudo mv backup.py /usr/local/bin/backup.py# Full system backup
backup.py --repo ssh://user@host:/path/repo --key ~/.ssh/id_rsa --backup --all
# Restore system
backup.py --repo ssh://user@host:/path/repo --key ~/.ssh/id_rsa --restore --all
# List existing archives
backup.py --repo ssh://user@host:/path/repo --list
# Delete all archives
backup.py --repo ssh://user@host:/path/repo --clear-allUse --password=you_password for auto password insert.
Use --target /home/user for user directory.
Logs and state data are stored in /root/.backup.py or use --log
mkdir -p /var/log/mysql
touch /var/log/mysql/error.log
chown -R mysql:adm /var/log/mysql
chmod 755 /var/log/mysql
chmod 640 /var/log/mysql/error.log
systemctl start mysql
backup.py - инструмент автоматизации BorgBackup
Автоматизирует полное резервное копирование и восстановление Linux‑систем с помощью BorgBackup.
Поддерживает управление Docker, дампы MySQL/PostgreSQL, сохранение списка пакетов, сервисов и заданий cron, отображение прогресса и восстановление состояния системы.
- Полное или частичное резервное копирование
- Создание SQL‑дампов MySQL и PostgreSQL
- Остановка/запуск Docker во время бэкапа
- Сохранение и восстановление состояния пакетов и сервисов
- Просмотр и выбор архива для восстановления
- Отображение прогресса в терминале
- Автоматическая установка зависимостей
- в version 4.9 добавлено
--tag=mytagчто добавит в конец описания нужный тэг2026-Jan-25_15-05-12-mytag
- Python 3.8+
- BorgBackup, parted, e2fsprogs, dosfstools
chmod +x backup.py
sudo mv backup.py /usr/local/bin/backup.py# Полный бэкап системы
backup.py --repo ssh://user@host:/path/repo --key ~/.ssh/id_rsa --backup --all
# Восстановление системы
backup.py --repo ssh://user@host:/path/repo --key ~/.ssh/id_rsa --restore --all
# Список архивов
backup.py --repo ssh://user@host:/path/repo --list
# Удаление всех архивов
backup.py --repo ssh://user@host:/path/repo --clear-allИспользуй --password=you_password для автоматического пароля.
Параметр --target /home/user указывает куда распоковать.
Логи и состояние системы сохраняются в /root/.backup.py или используй --log=/you_catalog
Хочешь, чтобы я добавил раздел с примером расписания (cron) для автоматического запуска резервного копирования?