Задача: Проработать бекап и восстановления для BookStack

У меня есть заметка: Как установить BookStack на Ubuntu 18.04 Server

в которой я рассмотрел как установить BookStack взамен Dokuwiki & WordPress для ведения своих заметок, но сейчас я использую дома — это BookStack

А значит использование данной системы критично в случае чего и нужно побеспокоиться о резервном копировании и последующем восстановлении. Как раз об этом я хочу сделать пошаговую заметку:

Чтобы сделать резервную копию нужно:

  • — сделать дамп базы данных
  • — сделать резервную копию файлов

Чтобы восстановить из резервной копии нужно:

  • — Развернуть по заметке BookStack

Моя версия:

ekzorchik@srv-bionic:~$ cat /var/www/html/bookstack/version

v0.29.3

Шаг №1: Чтобы сделать резервную копию нужно:

ekzorchik@srv-bionic:~$ mysqldump -u us_bookstack -p612mbddr@ db_bookstack > db_bookstack.sql

mysqldump: [Warning] Using a password on the command line interface can be insecure.

ekzorchik@srv-bionic:~$ file db_bookstack.sql

db_bookstack.sql: UTF-8 Unicode text, with very long lines

ekzorchik@srv-bionic:~$ ls -lh db_bookstack.sql

-rw-rw-r-- 1 ekzorchik ekzorchik 323K Nov 19 10:34 db_bookstack.sql

ekzorchik@srv-bionic:~$ tar czvf bookstack-backup.tar.gz /var/www/html/bookstack/.env /var/www/html/bookstack/public/uploads/ /var/www/html/bookstack/storage/uploads/

Шаг №2: Чтобы восстановить из резервной копии нужно, если были удаленные все страницы и сами книги, а BookStack функционирует:

ekzorchik@srv-bionic:~$ sudo systemctl stop apache2

ekzorchik@srv-bionic:~$ sudo mysql -u root -p712mbddr@ db_bookstack < db_bookstack.sql

ekzorchik@srv-bionic:~$ tar zxf bookstack-backup.tar.gz

ekzorchik@srv-bionic:~$ sudo cp -R var/www/html/bookstack/.env /var/www/html/bookstack/.env

ekzorchik@srv-bionic:~$ sudo cp -R var/www/html/bookstack/public/uploads/ /var/www/html/bookstack/public/uploads/

ekzorchik@srv-bionic:~$ sudo cp -R var/www/html/bookstack/storage/uploads/ /var/www/html/bookstack/storage/uploads/

ekzorchik@srv-bionic:~$ sudo chown -R www-data:www-data /var/www/html/bookstack/

ekzorchik@srv-bionic:~$ sudo systemctl start apache2

и после через захожу через Web-интерфейс и вижу, как полки, в них восстановленные книги и страницы в них.

На заметку: Именование книг лучше указывать на английском языке, да и вообще все должно по части именования быть на нем. Это моя личная рекомендация.

Шаг №3: Если нужно восстановить бекап на развернутый сервис (откатил снапшот на VM как если бы сервис был установлен) по заметке:

ekzorchik@srv-bionic:~$ scp -r ekzorchik@172.33.33.106:/home/ekzorchik/bookstack/bookstack-backup.tar.gz /home/ekzorchik/

ekzorchik@srv-bionic:~$ scp -r ekzorchik@172.33.33.106:/home/ekzorchik/bookstack/db_bookstack.sql /home/ekzorchik/

ekzorchik@srv-bionic:~$ sudo systemctl stop apache2

ekzorchik@srv-bionic:~$ sudo mysql -u root -p712mbddr@ db_bookstack < db_bookstack.sql

ekzorchik@srv-bionic:~$ tar zxf bookstack-backup.tar.gz

ekzorchik@srv-bionic:~$ sudo cp -R var/www/html/bookstack/.env /var/www/html/bookstack/.env

ekzorchik@srv-bionic:~$ sudo cp -R var/www/html/bookstack/public/uploads/ /var/www/html/bookstack/public/uploads/

ekzorchik@srv-bionic:~$ sudo cp -R var/www/html/bookstack/storage/uploads/ /var/www/html/bookstack/storage/uploads/

ekzorchik@srv-bionic:~$ sudo chown -R www-data:www-data /var/www/html/bookstack/

ekzorchik@srv-bionic:~$ sudo systemctl start apache2

и после через захожу через Web-интерфейс и вижу, как полки, в них восстановленные книги и страницы в них.

Делаю вывод что все работает.

На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.