Листоход
Прочее

Резервное копирование

Создание резервных копий на локальный диск

Создание резервной копии выполняется при выполнении команды:

./bin/backup.sh

Создание резервных копий на удаленный FTP-сервер:

Для создания резервных копий на внешний FTP-сервер нужно установить пакет lftp:

# Обновление списка пакетов
sudo apt update

# Установка lftp
sudo apt install lftp

А также внести параметры подключения к серверу FTP в ваш файл .env:

# Активировать создание резервных копий на FTP
BACKUP_FTP_UPLOAD_ENABLED=true

# Адрес FTP-сервера
BACKUP_FTP_HOST=ftp.server.ru

# Порт FTP-сервера
BACKUP_FTP_HOST=21

# Имя пользователя
BACKUP_FTP_USER=username

# Пароль пользователя
BACKUP_FTP_PASSWORD=password

# Директория на FTP-сервере для бэкапов
BACKUP_FTP_TARGET_DIR=/backups/listohod

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

./bin/backup.sh

Создание резервных копий по расписанию

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

Откройте редактор crontab:

crontab -e

При первом запуске система может предложить выбрать редактор:

  • Выберите nano (обычно вариант 1) для простого редактирования
  • Или vim если вы с ним знакомы

Добавьте задачу в crontab:

В конец файла добавьте строку:

0 6 * * * /listohod/bin/backup.sh >> /var/log/backup.log 2>&1

Сохраните и закройте файл:

  • В nano: Ctrl + X, затем Y, затем Enter
  • В vim: нажмите Esc, введите :wq, нажмите Enter

Объяснение синтаксиса cron

0 6 * * * команда
│ │ │ │ │
│ │ │ │ └── День недели (0-7, где 0 и 7 = воскресенье)
│ │ │ └──── Месяц (1-12)
│ │ └────── День месяца (1-31)
│ └──────── Час (0-23)
└────────── Минута (0-59)

Наша задача 0 6 * * * означает:

  • 0 минут
  • 6 часов (6:00 утра)
  • * любой день месяца
  • * любой месяц
  • * любой день недели

Восстановление дампа

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

./bin/restore.sh