Бэкап сайта

Аватар пользователя jura12 jura12 30 ноября 2019 в 12:42

Кто как бэкапит сайты?

Комментарии

Аватар пользователя bsyomov bsyomov 30 ноября 2019 в 15:40

Я бекаплю скорее не сайты, точнее не только сайты. Основные инструменты, которые я использую, это rsnapshot и restic Оба позволяют делать инкрементальные бекапы, что позволяет разумно использовать место на диске и сеть. И работать на уровне отдельных файлов, без разархивирования и.т.п., что очень удобно, если надо восстановить отдельный файл, например. А restic, к тому же, позволяет монтировать бекапы как файловую систему, что тоже очень удобно.

Для бекапа различных баз данных вызываются внешние скрипты, создающие их дампы или снимки.

Аватар пользователя gun_dose gun_dose 1 декабря 2019 в 0:53

Код у всех норальных людей в гите. Базу бэкапить можно десятками способов, каждый из которых по-своему хорош. А вот с папкой files вопрос куда более интересный. Кто как бэкапит картинки? Есть предложение, что для этого оптимален s3, но сам пока им не пользовался.

Аватар пользователя jura12 jura12 11 декабря 2019 в 9:11

я бэкаплю сайт скриптами но хочу научиться делать снапшоты на файловой системе zfs. эта файловая система новый тренд. появилась на убунту 19.10 .

Аватар пользователя bsyomov bsyomov 11 декабря 2019 в 11:52
3

Smile Ей сто лет в обед и появилась она в Solaris. Потом была портирована во FreeBSD, и затем в Линукс, и даже это было довольно давно.

Ну и не то, чтобы это так уж тренд, к тому же, она не такая уж быстрая, и очень охоча до памяти.

Аватар пользователя jura12 jura12 18 декабря 2019 в 1:59

Открыл для себя программу для создания шифрованных инкрементальных и удаленных бэкапов duplicity .

Создание бэкапа

duplicity --no-encryption /var/www/drupal8 file:///home/yuraxu1804/backupssd

Просмотр бэкапа

duplicity collection-status file:///home/yuraxu1804/backupssd

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

duplicity --no-encryption file:///home/yuraxu1804/backupssd /var/www/drupal8

Ссылки

https://prudnitskiy.pro/2017/09/30/duplicity/

Аватар пользователя Orion76 Orion76 24 января в 22:50

апчем разговор?
Если вы не Цукерберг и ваш сайт умещается на одном сервере - чего там бэкапить?

#!/bin/sh
BACKUP_DIR="./backup/$(date +%F--%H-%M-%S)"
mkdir $BACKUP_DIR
drush sql:dump |gzip  > $BACKUP_DIR/db.sql

tar -czf $BACKUP_DIR/dump.tar.gz --exclude=./web/sites/default $(cat ./scripts/files.txt)

у меня этот скрипт лежит в папке scripts в корне проекта.

в файле ./scripts/files.txt список архивируемых файлов-папок:

./composer.json
./config
./web

так же в корне лежит папка backup, в которую кладутся дампы.
скрипт запускать из корня проекта(в нем все пути от корня)

в итоге в папку ./backup/[ТЕКУЩАЯ ДАТА-ВРЕМЯ]
ложатся архивы БД и файлов.

можно конечно еще чего-то на него навесить, но тупо сделать бэкап вполне достаточно.

ЗЫ.. Кстати, а кто-нибудь в курсе, зачем из drush последних версий убрали команды-ключи ard и arb ?
ЗЫЫ. Скрипт без drush не работает.

Аватар пользователя jura12 jura12 25 января в 1:15

я бэкаплю каждый день по крону этим скриптом:

#!/bin/sh
cd /var/www/drupal8/web && ../vendor/bin/drush sset system.maintenance_mode 1

if ../vendor/bin/drush sql-dump --result-file=../baza_drup8.sql
then echo "Backup of sql successful"
else echo "Backup of sql failed"
fi

duplicity --no-encryption /var/www/drupal8 file:///home/username/backupssd

cd /var/www/drupal8/web && ../vendor/bin/drush sset system.maintenance_mode 0

Аватар пользователя bsyomov bsyomov 25 января в 16:04

Начать стоит с того, что бекапить нужно куда-нибудь на удалённый сервер, лучше в другом ДЦ. В случае мелкого сайта, это может быть какое-нибудь облачное файлохранилище, даже бесплатное, или домашний NAS...

Даже если это какой-то мелкий сайтик, система хранения на которой он лежит может помереть, или хостер, или в ДЦ что-то случиться.

А продолжить тем, что кроме сайта, возможно стоит бекапить почту, например, настройки серверного ПО, и.т.п, раз мы о сервере.