Бэкап базы данных¶
Подготовка¶
Убедитесь, что на жестком диске достаточно свободного места:
df -h
Проверьте, что установлена и запущена работоспособная версия PostgreSQL:
sudo service postgresql status
Остановите службы сервера, иначе резервное копирование может занять длительное время:
sudo staffcop stop
Проверьте, что службы остановлены:
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