Вступление
Теперь, когда у вас есть отлично сконфигурированный сервер Linux на Vultr, вам нужно выбрать для него решение для резервного копирования. GNU tar
Это очень хороший выбор - он надежен и облегчает резервное копирование и восстановление сервера.
Основной ��интаксис
Tar использует следующий синтаксис.
sudo /usr/bin/tar -czpvf /home/john/backup/linux_backup.tar.gz /
-c
Архив
-z
: Используйте формат GZip для резервного копирования. GZip работает быстро, но генерирует больший размер файла, чем другие инструменты сжатия.
-p
: Сохраните разрешение, чтобы при восстановлении резервной копии не возникало проблем с разрешениями.
-v
: Показать детали во время резервного копирования. Пропустите, -v
если вы не хотите видеть подробный вывод.
-f
: Укажите, где хранить файлы tar. Здесь мы сохраняем файл резервной копии в backup
каталоге под домашним каталогом пользователя John и называем его linux_backup.tar.gz
.
/
: Корневая файловая система Linux. Это означает резервное копирование всего диска, включая все подключенные диски, поэтому будьте осторожны, обязательно исключите папки или файлы, с которыми вы не хотите выполнять резервное копирование excluded.txt
(см. Ниже).
Улучшения
Исключить файлы, которые вы не хотите (или не нужно) для резервного копирования.
sudo /usr/bin/tar --exclude-from=/home/john/exclude.txt -czpvf /home/john/backup/linux_backup.tar.gz /
Используйте --exclude-from=/home/john/exclude.txt
для указания исключений в файле. exclude.txt
Образец наклеивается ниже.
/home/john/backup/*
/tmp/*
/proc/*
/dev/*
/sys/*
/run/*
/var/tmp/*
/var/run/*
/var/lock/*
/usr/portage/*
/usr/src/*
В этом примере я исключаю /home/john/backup/*
, иначе первая резервная копия будет включена во вторую резервную копию и так далее.
На каждой системе Linux, тем /tmp/*
, /proc/*
, /dev/*
, /sys/*
, и /run/*
создаются динамически, так что вам не нужно , чтобы включить их в резервной копии, но вам необходимо сохранить структуру каталогов. Таким образом, вы должны использовать /proc/*
в excluded.txt
отличие от /proc
.
Вы можете добавить другие файлы и папки, которые вы не хотите делать резервные копии. В приведенном выше примере я включил /usr/portage/*
и /usr/src/*
. Это специфичные для Gentoo Linux. Первый содержит пакет ebuild и исходные коды Gentoo. Второй содержит исходники ядра Gentoo Linux. Они большие и могут быть снова загружены после восстановления системы. Не стесняйтесь редактировать в excluded.txt
соответствии с вашими потребностями.
Добавить текущую дату к имени резервной копии
sudo /usr/bin/tar --exclude-from=/home/john/exclude.txt -czpvf /home/john/backup/linux_backup-$(date +%F-%H-%M).tar.gz /
С $(date +%F-%H-%M)
, текущая дата, часы и минуты будут добавлены к имени файла резервной копии. Например, linux_backup-2015-07-02-15-22.tar.gz
.
Используйте лучшую программу сжатия, чем GZip
sudo /usr/bin/tar --exclude-from=/home/john/exclude.txt -cJpvf /home/john/backup/linux_backup-$(date +%F-%H-%M).tar.xz /
-J
Переключатель может заменить -z
использовать Хг для сжатия. Это также меняет расширение на tar.xz
. Xz медленнее, чем GZip, но имеет гораздо лучшую степень сжатия, что приводит к уменьшению размера файла резервной копии.
Помещение всего в сценарий оболочки
Создать скрипт.
vim /home/john/bin/linux_backup.sh
Включите следующий код в скрипт.
#!bin/sh
_tarfile=/home/john/backup/linux_backup-$(date +%F-%H-%M).tar.xz
sudo /usr/bin/tar --exclude-from=/home/john/exclude.txt -cJpvf $ /
Предоставьте сценарию разрешения на выполнение.
sudo chmod +x /home/john/bin/linux_backup.sh
Выполните резервное копирование.
/home/john/bin/linux_backup.sh