Резервное копирование - бэкапы в Ubuntu
- Подробности
- Категория: Сисадмин
- Просмотров: 200
Обычно про это забывают...
Резервное копирование - бэкапы в Ubuntu
1. Чтобы сохранить установленные дистрибутивы и потом легко их восстановить:
dpkg --get-selections | grep -v deinstall > dpkg_backup.txt
Сохраните данный файл на флешку, а при необходимости восстановить все так:
sudo dpkg --set-selections < dpkg_backup.txt
sudo apt -y update
sudo apt-get dselect-upgrade
2. Бэкап всей системы
В данном случае все будет дольше, так как вся система бэкапиться:
sudo tar czf /backup.tar.gz --exclude=/backup.tar.gz --exclude=/home --exclude=/media --exclude=/dev --exclude=/mnt --exclude=/proc --exclude=/sys --exclude=/tmp /
тут:
c - создание архива
z - использование сжатия
f - для указания файла, куда все сохраним
и далее исключим из архива сам файл и другие доп папки, а в конце / - говорит о том, что начнем всю работу с архива.
3. Как создавать backup сайта на Ubuntu
Можно создать 2 папки для бэкапа файлов - file_backup_site1 и для базы bd_backup_site1 .
Сперва бэкапим файлы сайтика:
# tar -czvf /rezerv/file_backup_site1/backup-`date +"%Y-%m-%d_%H-%M"`.tar.gz -C /var/www/html/ site1
--- Будет создана заархивированная копия директории site1, находящейся в /var/www/html/.
--- Созданный архив будет расположен в директории file_backup_site1.
--- Архив будет иметь название вида: backup-дата_время создания.tar.gz
Создаем архив базы данных сайта:
# mysqldump -u mynickname -p123 mydb | gzip -c > /rezerv/bd_backup_site1/mysql-`date +"%Y-%m-%d_%H-%M"`.sql.gz
--- Будет создан дамп базы данных mydb, от имени пользователя mynickname , с паролем 123.
--- Дамп будет заархивирован и расположен в директории /rezerv/bd_backup_site1/.
--- Архив будет иметь название вида: mysql -дата и время создания. sql.gz
Автоматически
Создание автоматического бэкапа файлов сайта на Ubuntu - делается это через cron - например, утром рано в 2 часа 30 минут каждый день:
#Автоматический Бэкап сайта
30 2 * * * root /bin/tar -czf /rezerv/file_backup_site1/backup-`date +\%Y-\%m-\%d_\%H-\%M`.tar.gz -C /var/www/html/ site1
Создание автоматического бэкапа БД сайта на Ubuntu - делается это через cron - например, утром рано в 2 часа 30 минут каждый день:
#Автоматический Бэкап БД сайта
30 2 * * * root /bin/mysqldump -u mynickname -p123 mybd | /bin/gzip -c > /rezerv/bd_backup_site1/mysql-`date +\%Y-\%m-\%d_\%H-\%M`.sql.gz
Восстановление сайта из копии
1. Восстановим файлы :
Распаковка архива:
tar -xzvf backup-2023-05-21_14-52.tar.gz
Скопируем с заменой файлы в директорию с сайтом:
\cp -fR /rezerv/site/site1/* /var/www/html/site1
2. Восстановим базу данных
Зайдем в директорию и распакуем архив:
gunzip mysql-2023-05-21_14-52.sql.gz
Подключимся к БД:
mysql --host=localhost --user=mynickname --password=123 mybd;
Восстановим базу:
source /rezerv/baza/mysql-2023-05-21_14-52.sql
Выход из mysql:
quit;
Автоматические очищение бэкапов файлов и бд:
/usr/bin/find /rezerv/file_backup_site1 -type f -mtime +7 -exec rm {} \;
/usr/bin/find /rezerv/bd_backup_site1 -type f -mtime +7 -exec rm {} \;