Бэкап базы данных

Подготовка

  1. Убедитесь, что на жестком диске достаточно свободного места:

df -h
  1. Проверьте, что установлена и запущена работоспособная версия PostgreSQL:

sudo service postgresql status
  1. Остановите службы сервера, иначе резервное копирование может занять длительное время:

sudo staffcop stop
  1. Проверьте, что службы остановлены:

sudo staffcop top
sudo staffcop ps

Проведение бэкапа

Выполните команду:

sudo staffcop backup_db

Ваш бэкап будет размещен в папке /var/lib/staffcop/staffcop_backup.

Для переноса на другой компьютер скопируйте эту папку по сети или на переносной носитель.

Многопоточный бэкап

На крупных БД создание бэкапа занимает значительное время и в некоторых случаях не завершается за разумное время. Для решения это проблемы резервное копирование базы данных может выполняться в формате каталога — directory.

В режиме directory каждая таблица базы данных сохраняется в отдельный файл. Эти файлы выгружаются параллельно. В итоге нагрузка делится, и процесс идет заметно быстрее.

Пример команды:

sudo staffcop backup_db -j 4

где -j 4 — количество потоков.

Поддерживаются оба варианта ключа:

  • -j <число потоков>,

  • --jobs <число потоков>.

Если ключ не указан, используется стандартный однопоточный бэкап.

Восстановление бэкапа

Примечание

Восстановление базы данных должно выполняться в той же версии Staffcop, в которой был создан бэкап. В противном случае не гарантируется работоспособность системы.

Для восстановления бэкапа выполните команду:

sudo staffcop restore_db

Если файл бэкапа находится не в /var/lib/staffcop/staffcop_backup, укажите путь к нему, например:

sudo staffcop restore_db /home/support/backup

Примечание

Путь к папке должен быть указан полностью!

Последнее обновление: 22.08.25