суббота, 30 января 2016 г.

Автоматическое создание бэкапов Clonezilla

Есть у меня новогодняя традиция, заниматься на январских праздниках либо обновлением, либо переустановкой ОС на неттопе. За год всякое происходит. Там конфиги подправил, тут пакеты поставил, то kodi падает при загрузке - короче всякое бывает. Душа просит чистой установки - без лишних пакетов и ненужных служб. Что говорить, порой на это все январские праздники и уходят...
Чтобы испытывать меньше боли, делаю резервные копии на внешний диск. И если вдруг решу добавить новые не проверенные фичи - всегда будет возможность откатиться до стабильного образа. Для этого я использую загрузочную флэшку с Clonezilla.
Перед началом экпериментов, делаю резервную копию диска. В случае неудачи, откатываюсь до стабильного образа. Чтобы каждый раз не вспоминать, какое меню выбирать, какой параметр выбирать, я решил кастомизировать загрузочное меню Clonezilla. Все сводится к тому, что если надо создать образ - выбирай первое меню (дефолтное меню, запускается через 30 секунд), если хочешь откатиться к последнему стабильному образу - выбирай второе. Минимум нажатий кнопок. Минимум участия. Справится даже домохозяйка.
Сперва создадим загрузочную флэшку с дистрибутивом Clonezilla (я предпочитаю alternative stable releases - 20151012-wily).
Конечно, потребуется диск для хранения резервных копий. Для этих целей я использую внешний USB на 250 Gb. Если дисков в системе несколько, то рекомендую присвоить этому диску уникальную метку, скажем "backup", по которой в последствии будем определять диск в clonezill'е. Подключим диск к системе и посмотрим что у нас есть
ls -l /dev/disk/by-label/
Дадим новую метку диску
e2label /dev/sdb1 backup
Теперь вставим загрузочную флэшку и взглянем на файл syslinux/syslinux.cfg
Нас интересует секция, которая начинается с label Clonezilla live
# Since no network setting in the squashfs image, therefore if ip=, the network is disabled. That's what we want.
label Clonezilla live
MENU DEFAULT
# MENU HIDE
MENU LABEL Clonezilla live (Default settings, VGA 800x600)
# MENU PASSWD
kernel /live/vmlinuz
append initrd=/live/initrd.img boot=live union=overlay username=user hostname=vivid config  noswap edd=on nomodeset nodmraid noeject locales= keyboard-layouts= ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no vga=788 ip=  splash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1
TEXT HELP
* Boot menu for BIOS machine
* Clonezilla live version: 20150608-vivid-amd64. (C) 2003-2015, NCHC, Taiwan
* Disclaimer: Clonezilla comes with ABSOLUTELY NO WARRANTY
ENDTEXT
Тут описаны параметры загрузки по этому меню. Скопируем эту секцию, и вставим ниже. Теперь отредактируем
# My custom title
label Autosave image
MENU DEFAULT
# MENU HIDE
MENU LABEL Make backup sda device to USB Backup disk
# MENU PASSWD
kernel /live/vmlinuz
append initrd=/live/initrd.img boot=live union=overlay username=user hostname=clonezilla config quiet components noswap edd=on nomodeset nodmraid noeject locales=en_US.UTF-8 keyboard-layouts=NONE ocs_prerun1="dhclient -v eth0" ocs_prerun2="mount -t ext4 -L backup /home/partimag" ocs_live_run="/usr/sbin/ocs-sr -q2 -j2 -z1 -i 1000000 -sc -p poweroff savedisk kodi-`date +%F-%H-%M` sda" ocs_live_batch=no vga=788 ip= net.ifnames=0  splash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1
TEXT HELP
* Automount backup disk and clone sda disk with all partitions.
* Date of create jan2016
ENDTEXT

Самая важная часть описана в append initrd. Это параметры загрузки ядра. Что мы добавили и изменили:
Сразу прописываем язык и раскладку
locales=en_US.UTF-8
keyboard-layouts=NONE
Параметр ocs_prerun% отвечает за запуск своих команд ДО выполнения основных операций резервного копирования\восстановления
ocs_prerun1="dhclient -v eth0" # Получаем IP-адрес по DHCP
ocs_prerun2="mount -t ext4 -L backup /home/partimag" # Монтируем диск backup
Создаем резервную копию с именем в формате текущей даты
ocs_live_run="/usr/sbin/ocs-sr -q2 -j2 -z1 -i 1000000 -sc -p poweroff savedisk kodi-`date+%F-%H-%M` sda"
Разрешение экрана
vga=788
В секции TEXT HELP описываю чуть подробней, что выполняет это меню.

Добавляем еще один шаблон чуть ниже
# Custom Restore 1
label Auto Restore 
# MENU DEFAULT
# MENU HIDE
MENU LABEL Restore image MiniISO 14.04.03 from USB Backup disk
# MENU PASSWD
kernel /live/vmlinuz
append initrd=/live/initrd.img boot=live union=overlay username=user hostname=clonezilla config quiet components noswap edd=on nomodeset nodmraid noeject locales=en_US.UTF-8 keyboard-layouts=NONE ocs_prerun1="dhclient -v eth0" ocs_prerun2="mount -t ext4 -L backup /home/partimag" ocs_live_run="/usr/sbin/ocs-sr -g auto -e1 auto -e2 -r -j2 -p poweroff restoredisk 2016-kodi-miniiso-fresh sda" ocs_live_batch=no vga=788 ip= net.ifnames=0  splash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1
TEXT HELP
* Autorestore image to sda.
* Ubuntu MiniISO 14.04.03 fresh after install
* Disk have one sda1 partition, without swap
ENDTEXT

Как видим, тут мы восстанавливаем на диск sda образ 2016-kodi-miniiso-fresh (который должен лежать в корне диска backup) и после успешного выполнения - выключаем компьютер. В случае перезагрузки, по дефолтному меню, будет выполняться очередной бэкап.
ocs_live_run="/usr/sbin/ocs-sr -g auto -e1 auto -e2 -r -j2 -p poweroff restoredisk 2016-kodi-miniiso-fresh sda"
Теперь загрузочное меню выглядит следующий образом
свое меню, со шлюхами и блэкджеком

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

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