No description
Find a file
2026-02-16 14:21:05 +03:00
.env.example Initial commit 2026-02-16 12:53:50 +03:00
.gitignore Initial commit 2026-02-16 12:53:50 +03:00
Readme.md Initial commit 2026-02-16 12:53:50 +03:00
restore.bash Initial commit 2026-02-16 12:53:50 +03:00
script.bash Initial commit #6 2026-02-16 14:21:05 +03:00

Directory Backup Tool

Скрипт для автоматического создания зашифрованных резервных копий локальной директории.

Основные возможности

  • Архивация: Создает сжатый архив указанной директории $TARGET_DIR.
  • Безопасность: Все архивы шифруются алгоритмом AES256 с помощью GPG.
  • Облачное хранение: Автоматическая синхронизация зашифрованных архивов с удаленным FTP-сервером через lftp.
  • Статистика: Ведение лога каждой операции в файл backup.log.

Требования

Для работы скрипта должны быть установлены:

  • lftp (синхронизация с FTP)
  • gpg (шифрование)
  • tar (архивация)

Настройка

  1. Скопируйте .env.example -> .env в корне проекта и установите значение переменных:

    • PROJECT_NAME: Название проекта (используется в имени архива).
    • TARGET_DIR: Путь к директории, которую нужно забэкапить.
    • BACKUP_DIR: Временная локальная папка для хранения зашифрованного архива.
    • REMOTE_BACKUP_DIR: Папка на FTP-сервере.
    • BACKUP_PASSWORD: Пароль для шифрования архива.
  2. Настройте права доступа к скрипту:

    chmod +x script.bash
    

Использование

Запуск бэкапа по умолчанию (используя .env):

./script.bash

Запуск с переопределением параметров (аргументы имеют приоритет):

./script.bash -p my-custom-project -t /path/to/other/dir -r /remote/path

Доступные флаги:

  • -p: Имя проекта (влияет на имя архива)
  • -t: Путь к директории для бэкапа
  • -r: Путь на FTP сервере

Восстановление данных

Использование скрипта восстановления

Для удобного восстановления используйте restore.bash:

chmod +x restore.bash
./restore.bash путь/к/архиву.tar.gz.gpg

Скрипт автоматически использует BACKUP_PASSWORD из вашего .env.

Ручная расшифровка архива

Для расшифровки и распаковки архива вручную используйте команду:

gpg --batch --passphrase аш_пароль" -d имя_файла.tar.gz.gpg | tar -xzp --same-owner

Примечание: для восстановления владельцев файлов (--same-owner) могут потребоваться права root.

Логирование

Результаты работы записываются в ./backup.log