Резервирование и восстановление информации
Процесс создания резервной копии данных буду называть
архивированиемА сам файл с данными для восстановления далее буду называтьархив.
В корне инсталляции есть скрипт backup.sh. Он подготовит архив. Получившийся файл нужно копировать в надёжное хранилище без доступа третьих лиц. В случае переезда на другой сервер или внештатной ситуации можно восстановиться с него этим же скриптом.
Его содержимое примерно такое:
#!/bin/bashset -ex
backup_dir='./backups'curtime=$(date '+%Y_%m_%d_%H:%M:%S')
which docker > /dev/nullif [ $? -eq 1 ]; then echo "docker not found. Check if it is installed." exit 1fi
mkdir -p "$backup_dir"
docker compose exec djing2db pg_dump -U djing2_usr djing2 > "${backup_dir}/dump_${curtime}.sql"docker compose cp yvix-front:/var/www/media "${backup_dir}/media"
fname="backup_${curtime}.tar.gz"
tar -cvzf "./${fname}" "$backup_dir"mv -v "./${fname}" "$backup_dir/"Создание архива данных
Заголовок раздела «Создание архива данных»Пример создания архива
$ ./backup.sh dump /mnt/storage/backupsЭто создаст архив в директории /mnt/storage/backups. Имя файла имеет формат backup_%Y_%m_%d_%H%M%S.tar.gz (в формате комманды date из linux). Потому имя будет, например: backup_2025_05_29_165025.tar.gz
Восстановление из архива
Заголовок раздела «Восстановление из архива»$ ./backup.sh restore ./mnt/storage/backup_2025_05_29_165025.tar.gzРекомендация по хранению резервных копий
Заголовок раздела «Рекомендация по хранению резервных копий»Лучше всего настроить сторонний сервер, который будет в активном режиме заходить на этот сервер и забирать файлы архивов(резервных копий). Так, если случится, что кто-то завладеет сервером, то не получит доступа к резервным копиям, так как с этого сервера просто нет доступа к серверу резервных копий. Соответственно, чем бо́льшая история хранится в резервных копиях, тем меньше шанс того что старые копии сотрутся, а новые будут испорчены.