Вы просматриваете: » » Резервируем данные
Категория: Unix, опубликовал: rob96, добавлено: 27-11-2014, 17:00
 


Один из простейших вариантов резервного копирования системы — использование shell script. Например, сценарий может быть использован для настройки, какие каталоги требуют резервного копирования, и для передачи этих каталогов в качестве аргументов утилите tar, которая создаёт архивные файлы. Архивный файл может быть затем перемещён или скопирован в другое место. Архив также может быть создан на удалённой файловой системе, такой как NFS. Утилита tar создаёт один архивный файл из множества файлов и каталогов.tar может также пропускать файлы через утилиты сжатия, уменьшая таким образом размер архивного файла.
Простой Shell сценарий
Следующий shell сценарий использует tar для создания архивного файла на удалённо смонтированной файловой системе. Имя архива определяется с помощью дополнительных утилит командной строки.

#!/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="/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/$archive_file"
date
echo
# Backup the files using tar.
tar czf $dest/$archive_file $backup_files
# Print end status message.
echo "Backup finished"
date
# Long listing of files in $dest to check file sizes.
ls -lh $dest

взять код

• $backup_files: переменная для перечисления, какие каталоги вы желаете сохранять. Список может быть изменён под ваши требования.
• $day: переменная, содержащая день недели. Она используется для создания архивных файлов на каждый день недели, обеспечивая историю резервного копирования на семь дней. Существуют иные способы получения такого результата, включая использование утилиты date.
• $hostname: переменная, содержащая короткое имя системы. Использование сетевого имени в имени архива позволяет вам помещать ежедневные архивы от разных систем в один каталог.
• $archive_file: полное имя архива.
• $dest: место расположения архивного файла. Каталог должен быть создан и в данном случае смонтирован до выполнения сценария резервного копирования.
• status messages: необязательные сообщения, выводимые в консоль с использованием утилиты echo.
• tar czf $dest/$archive_file $backup_files: команда tar, используемая для создания архивного файла.
• c: создание архива.
• z: пропускание архива через утилиту сжатия gzip.
• f: вывод в архивный файл. В противном случае tar будет посылать результат в STDOUT.
• ls -lh $dest: необязательный оператор, выводящий -l длинный вариант списка в -h читаемом виде целевого каталога. Это удобно для быстрой проверки размера архивного файла. Эта проверка не заменяет тестирования целостности архивного файла. Это простой пример сценария резервного копирования, однако есть много опций, которые можно включить в такой сценарий.

Выполнение сценария

Выполнение из терминала:
Простейший способ выполнить приведенный выше сценарий — это скопировать его содержимое в файл. Например, backup.sh. Затем ввести в терминале:
sudo bash backup.sh
Это прекрасный способ проверить сценарий, чтобы убедиться, что всё работает как задумывалось.

Выполнение с помощью cron:
Утилита cron может быть использована для автоматизации выполнения сценария. Сервис cron позволяет выполнять сценарии или команды в определенное время. cron настраивается через записи в файле crontab. Файлы crontab разделяются на поля:
# m h dom mon dow command
• m: минуты запуска команды, от 0 до 59.
• h: час запуска команды, от 0 до 23.
• dom: день месяца для выполнения команды.
• mon: месяц даты выполнения команды.
• dow: день недели для выполнения команды, от 0 до 7. Воскресенье может
быть обозначено как 0 так и 7, оба значения допустимы.
• command: выполняемая команда.
Для добавления или изменения записей в файле crontab используется команда crontab -e. Кроме того, содержимое файла crontab можно просмотреть с помощью команды crontab -l. Для выполнения приведенного выше сценария backup.sh с помощью cron, введите следующее в терминале:
sudo crontab -e
Использование sudo для выполнения команды crontab -e изменяет файл пользователя root. Это требуется для резервного копирования каталогов, доступ к которым разрешен только root.
Добавьте следующую запись в файл crontab: crontab:
# m h dom mon dow command
0 0 * * * bash /usr/local/bin/backup.sh
Сценарий backup.sh будет теперь выполняться каждый день в полночь.
Сценарий backup.sh требуется скопировать в каталог /usr/local/ bin/, чтобы данная запись выполнялась правильно. Сценарий можно разместить где угодно в файловой системе, просто соответственно измените путь к сценарию в crontab.

Восстановление из архива
Как только архив создан, важно проверить его. Архив может быть проверен выводом списка файлов, которые в нем находятся, но лучшей проверкой будет восстановление файлов из архива.
• Чтобы посмотреть содержимое архива, наберите в терминале:
tar -tzvf /mnt/backup/host-Monday.tgz
• Чтобы восстановить файл из архива в другой каталог, введите:
tar -xzvf /mnt/backup/host-Monday.tgz -C /tmp etc/hosts
Параметр -C команды tar перенаправляет извлекаемые файлы в указанный каталог. Приведённый пример извлечёт файл /etc/hosts в /tmp/etc/hosts. tar создаёт заново структуру каталогов для извлекаемых файлов. Также обратите внимание на отсутствие лидирующего "/" в пути извлекаемого файла.
• Чтобы восстановить все файлы из архива, введите следующее:
cd /
sudo tar -xzvf /mnt/backup/host-Monday.tgz
Это перепишет все файлы, находящиеся в файловой системе.


     Комментариев оставлено: (0)    Просмотров: 2698   
Теги:   unix, Linux, FreeBSD

Другие новости по теме:

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии к новости:

Оставить свой комментарий:

Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Вставка ссылкиВставка защищенной ссылки Картинка Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Введите два слова, показанных на изображении:


управление аккаунтом
Профиль пользователя
, вы вошли как гость


Если вы на сайте впервые, то вы можете зарегистрироваться!

Вы забыли пароль?
самые интересные новости
Популярные новости
Материалы данного ресурса принадлежат пользователям и предназначены для расширения кругозора всех желающих
Unix Windows Техника Железо Mobile For Games Сплетни Net
  • Шпаргалки