кодесурса
«Linux

Резервное копирование

script1adsense2code
script1adsense3code

Резервное копирование

Чрезвычайно важно делать резервные копии ваших данных. Потеря данных не может быть предсказана, и нет необходимости говорить, что любая потеря данных - это потеря времени и денег.

Что такое резервная копия?

Резервные копии просто стратегически архивируют ваши данные, чтобы в случае потери вы могли восстановить их из этих архивов.

Типы резервного копирования

  • 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

«Bacula

Предыдущая: Сеть
Далее: веб-сервер

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code