Установим CentOS как описано в предыдущей статье "Установка CentOS 6.5 minimal"
Подключим репозиторий EPEL, для этого выполним следующие команды
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpmТеперь установим нужные пакеты
rpm -Uvh epel-release-6*.rpm
yum install duplicity cifs-utils dosfstools ntfsprogsduplicity - будет отвечать за сам бэкап
cifs-utils - потребуется для работы с NTFS разделами и их подключением по сети
dosfstools - для поддержки mkfs.vfat, mkfs.msdos
ntfsprogs - для поддержки mkfs.ntfs
Настройка дисков NTFS
Посмотрим куда подключились дискиfdisk -lПодключаемся к нужному нам диску, например sdc
fdisk /dev/sdcСоздаём новый основной раздел. (Команда n). В нашем случае на всю ширину диска.
Создаем партицию
Нажимаем «p», «1» и дальше только «ENTER»
По умолчанию создаётся базовая система для текущей операционной системы, в нашем случае это ext3. Чтобы создать другой. Нажимаем t и вводим код NTFS системы.
Полный листинг всех доступных файловых систем выдаётся по команде L, после t.
Нажимаем «7» (Выбираем NTFS)
Проверяем наши действия. Выводим итоговую таблицу разделов командой «p»
Если всё верно, производим запись на диск. Нажимаем «w» и дальше «ENTER»
Внимание! Любые данные на диске будут удалены!
Мы создали таблицу разделов. Однако для работы диска нам нужно его отформатировать.
mkfs.ntfs /dev/sdc1 -fГотово
Настроим монтирование дисков при загрузке системы
Выполним команду blkid чтобы узнать UUID наших разделов.blkidи получим в ответ, где видим идентификаторы
/dev/sda1: UUID="57cf7f73-af52-43a0-bc4d-9145b265f78a" TYPE="ext4"
/dev/sda2: UUID="LMUQet-vI6k-hip9-0Hys-7PNf-04M3-uX32gW" TYPE="LVM2_member"
/dev/sdc1: UUID="257D4BFE5869E341" TYPE="ntfs"
/dev/sdb1: UUID="402C5B1D505943A6" TYPE="ntfs"
/dev/mapper/vg_backup-lv_root: UUID="ee44adc5-75c2-4358-97ab-99a6045443c2" TYPE="ext4"
/dev/mapper/vg_backup-lv_swap: UUID="77f66b17-5182-4331-9012-44f576b9acaf" TYPE="swap"
Создадим каталоги куда будут монтироваться диски
mkdir /mnt/disk1
mkdir /mnt/disk2
mkdir /mnt/disk3
Добавим строки в fstab для монтирования при загрузке
nano /etc/fstab
Для разделов
UUID=402C5B1D505943A6 /mnt/disk1 ntfs-3g exec,user,auto,rw 0 0
UUID=257D4BFE5869E341 /mnt/disk2 ntfs-3g exec,user,auto,rw 0 0
Для сетевой папки
//192.168.1.1/share /mnt/disk3 cifs auto,_netdev,domain=DOMAIN.LOCAL,username=USERNAME,password=PASSWORD,codepage=cp1251,iocharset=utf8,dir_mode=0777,file_mode=0777 0 0
Настройка дисков закончена
Настройка BackUP на основе Duplicity
Действия выполняются на основе CRON.
Добавим в crontab следующие строки
nano /etc/crontab
00 1 * * * /usr/bin/duplicity full --no-encryption --volsize=100 --log-file=/backup/duplicity.log /mnt/disk3/ file:///mnt/disk1/
00 */3 * * * /usr/bin/duplicity incr --no-encryption --volsize=100 --log-file=/backup/duplicity.log /mnt/disk3/ file:///mnt/disk1/
* 3 * * 0 /usr/bin/duplicity remove-older-than 7D --force file:///mnt/disk1/
00 1 * * * означает выполнить ежедневно в 1:00
00 */3 * * * означает выполнять каждые 3 часа 00 минут
* 3 * * 0 - означает выполнять каждое воскресенье в 3 часа
разберемся с duplicity:
full - означает выполнить полый бэкап
incr - инкрементный(записывает только изменения), возможно только после создания полного
--no-encryption - не шифровать, по умолчанию шифрование включено
--volsize=100 - размер блоков по умолчанию 25Mb
--log-file=/backup/duplicity.log - вести лог файл /backup/duplicity.log
/mnt/disk3/ - откуда взять файлы
file:///mnt/disk1/ - куда положить файлы бэкапа
remove-older-than 7D --force file:///mnt/disk1/ - удаление бэкапов старше 7 дней из директории
Шпаргалка
duplicity full /source/ file:///target/ --no-encryption #полный бэкап
duplicity incr /source/ file:///target/ --no-encryption #инкрементальный бэкап(возможно только после полного)
duplicity restore file:///target/ /new --no-encryption #полное восстановление с последней версии
duplicity restore file:///target/ /source/ -t 1h --no-encryption #полное восстановление состояния час назад
duplicity -t 1h --file-to-restore some_dir/myfile file:///target/ /source/ #восстановить один файл с состояния час назад
duplicity verify file:///target/ /source/ --no-encryption #сверить файлы с бэкапом(последняя версия)
duplicity verify file:///target/ /source/ -t 1h --no-encryption #сверить файлы с бэкапом(состояние час назад)
duplicity list-current-files file:///target/ #просмотр списка файлов
duplicity collection-status file:///target/ #информация о бэкапе(начата/закончена, количество etc)
Комментариев нет:
Отправить комментарий