Резервное копирование
Резервное копирование
Чрезвычайно важно делать резервные копии ваших данных. Потеря данных не может быть предсказана, и нет необходимости говорить, что любая потеря данных - это потеря времени и денег.
Что такое резервная копия?
Резервные копии просто стратегически архивируют ваши данные, чтобы в случае потери вы могли восстановить их из этих архивов.
Типы резервного копирования
- Full - резервное копирование полного набора данных
- Инкрементное - резервное копирование изменяется только с момента последнего резервного копирования
- Дифференциальный - резервное копирование с момента последнего резервного копирования накопительно
Периодическое резервное копирование
- Daily - удерживать на короткий срок
- Еженедельно - удержание на среднесрочную перспективу
- Ежемесячно - удерживать на длительный срок
Резервное копирование с использованием сценария оболочки
Использование сценария оболочки для создания резервной копии является одним из самых простых способов. Обычно массив сценариев или файлов, для которых требуется создать резервную копию, добавляется в сценарий, а затем, когда сценарий выполняется, все эти каталоги и файлы архивируются в tar-файл. У tar-файла / утилиты также есть возможности для сжатия, что уменьшает размер получаемого архива. Используя утилиту tar, вы также можете восстановить данные из архива. Обычно резервные копии хранятся в месте, отличном от места создания. Иногда удаленно монтируемая NFS используется для хранения архивных данных.
Этот скрипт вращается через 7 резервных копий - по одному на каждый день.
#!/bin/sh
####################################
#
# Backup to NFS mount script.
#
####################################
# What to backup.
backup_files="/home /var/spool/mail /etc /root /boot /opt"
# Where to backup to.
dest_dir="/mnt/backup"
# Create archive filename.
day=$(date +%A)
hostname=$(hostname -s)
archive_file="$hostname-$day.tgz"
# Print start status message.
echo "Backing up $backup_files to $dest_dir/$archive_file"
date
echo
# Backup the files using tar.
tar czf $dest_dir/$archive_file $backup_files
# Print end status message.
echo
echo "Backup finished"
date
# Long listing of files in $dest to check file sizes.
ls -lh $dest_dir
Explanaiton
$ backup_files: это переменная оболочки, содержащая каталоги, которые вы хотите сделать резервную копию.
$ day: переменная, ссылающаяся на день недели (понедельник, вторник, среда и т. д.). Это помогает создать архивный файл для каждого дня недели. Вы можете использовать утилиты даты, чтобы сделать это тоже.
$ hostname: эта переменная ссылается на краткое имя хоста системы. Вы можете использовать это для ежедневного резервного копирования нескольких систем в одном каталоге.
$ archive_file: полное имя файла архива.
$ dest_dir: место назначения файла архива. Перед выполнением сценария оболочки необходимо создать этот каталог, и, если вы работаете с NFS, он также должен быть подключен.
сообщения о состоянии: если вы хотите, чтобы дополнительные сообщения выводились на консоль с помощью утилиты echo, вы можете сохранить эти сообщения в этой переменной.
tar czf $ dest_dir / $ archive_file $ backup_files: команда tar, используемая для создания файла архива.
c: создает архив.
z: отфильтровать архив с помощью утилиты gzip, сжимающей архив.
f: вывод в файл архива. В противном случае вывод tar будет отправлен в STDOUT.
ls -lh $ dest_dir: необязательный оператор печатает длинный список -l в -h удобочитаемом формате каталога назначения. Это полезно для быстрой проверки размера файла архива. Эта проверка не должна заменять проверку файла архива.
Выполнение скрипта
Сохраните созданный вами скрипт в файле .sh, скажите my_backup.sh и выполните файл из командной строки следующим образом
sudo bash my_backup.sh
Автоматизация с помощью cron
Cron используется для планирования выполнения скриптов. Мы рассмотрим это более подробно позже.
Чтобы войти в редактор заданий cron
crontab -e
Запускать скрипт резервного копирования каждый день каждого месяца каждого года в полночь
# m h dom mon dow command
0 0 * * * bash /usr/local/bin/backup.sh
Восстановление
Используйте tar для проверки целостности архива или для извлечения его содержимого.
Для просмотра содержимого архива
tar -tzvf /mnt/backup/host-Monday.tgz
Извлечь файл из архива
tar -xzvf /mnt/backup/host-Monday.tgz -
C /tmp etc/hosts
Извлечь файл из архива
tar -xzvf /mnt/backup/host-Monday.tg
Специализированные утилиты резервного копирования (например, Bacula)
Вместо того, чтобы делать резервное копирование с помощью сценария оболочки или кукурузы, вы можете использовать специализированную утилиту резервного копирования, такую как Bacula. Теперь мы увидим, как вы можете установить, настроить и запустить Bacula для резервного копирования и восстановления.
Перед установкой Bacula было бы лучше понять различные компоненты / сервисы Bacula.
Директор Bacula: это можно назвать компонентом рабочей лошади Bacula. это сервис, который используется для управления операциями резервного копирования, восстановления, проверки и архивирования.
Консоль Bacula. Это приложение, с помощью которого устанавливается связь с Bacula Director. Он имеет три версии - текстовую версию командной строки, интерфейс GTK + графический интерфейс пользователя (GUI) на основе Gnome и графический интерфейс wxWidgets.
Файл Bacula: он также называется программой клиента Bacula. С помощью этого приложения предоставляются атрибуты файла и данные по запросу директора. Это приложение установлено на машинах для резервного копирования. Это приложение зависит от операционной системы.
Bacula Storage. Службы Bacula Storage состоят из программ, которые выполняют хранение и восстановление атрибутов файлов и данных на физическом носителе или томах резервного копирования.
Каталог Bacula. Служба каталога Bacula отвечает за поддержание файловых индексов и баз данных томов для всех резервных копий файлов, обеспечивая быстрое обнаружение и восстановление архивных файлов. Каталог поддерживает три разные базы данных MySQL, PostgreSQL и SQLite.
Монитор Bacula. Служба мониторинга Bacula позволяет отслеживать демоны Director, File и Storage. В настоящее время монитор доступен только как приложение GTK + GUI.
Установка Bacula
Запустите установку Bacula с помощью следующей команды
sudo apt-get установить bacula
Предыдущая: Сеть
Далее: веб-сервер
Новый контент: Composer: менеджер зависимостей для PHP , R программирования