К основному контенту

FreeBSD резервное копирование и восстановление

Бекап FreeBSD
Для создания резервной копии системы воспользуемся утилитой dump.
Создадим файл со скриптом на shell в папке /usr/scripts/, который будет делать наш бекап. И назовем его script_backup.sh

#!/bin/sh
date >> /BACKUPDUMP/info.log
DATE=`date +%Y%m%d`
df -h >> /BACKUPDUMP/info.log
dump -0 -L -f - / >/BACKUPDUMP/${DATE}.root.s0.img
/usr/bin/ftp -u ftp://ftp:1111@192.168.1.181/${DATE}.root.s0.img /BACKUPDUMP/${DATE}.root.s0.img
echo "write "${DATE}".root.s0.img">> /BACKUPDUMP/info.log
rm /BACKUPDUMP/${DATE}.root.s0.img

echo "remove "${DATE}".root.s0.img">> /BACKUPDUMP/info.log 
Разберем утилиту dump
-0 — делается полный бекап раздела
-L — дамп снимается с «живой» файловой системы. В корне раздела создается директория .snap куда и делается снимок текущего состояния файловой системы, с помощью которого снимается дамп.
-f — Писать дамп в файл
Не забываем дать скрипту права на выполнение.
chmod 755 script_backup.sh
И положим его в cron,  добавив такую строчку
0 1 * * root /usr/scripts/script_backup.sh

P.S.
Вероятнее всего будет ругаться на включенное журналирование файловой системы,
поэтому необходимо загрузиться в single mode подключить диски командой 
mount -a
затем выполнить команду
tunefs -j disable /
и перезагрузиться
reboot


Восстановление из бекапа 

Для восстановления системы пользовался Frenzy

А также пользовался установочным диском FreeBSD 11.1.

Подключил чистый диск , загрузился с установочного диска FreeBSD в режиме Shell, далее команда
bsdconfig
выбирал пункт Disk Management, там в режиме Auto размечается диск(поскольку при установке
использовал режим Auto). 

Все можно перезагружаться с диска Frenzy.

Проверяю в /dev , что диск подключился, т.е. есть файлы ad0s1, ad0s1a, ad0s1b,  а также наличие 
файлов флешки da0,da0s1 (на флешке файл бекапа)
В папке /mnt создаю каталог 
mkdir /mnt/da0s1.ntfs
Подмонтирую флешку командой 
mount -t ntfs /dev/da0s1 /mnt/da0s1.ntfs
Далее нужно перемонтировать диск ad0s1a в режиме readwrite
umount -f /mnt/ad0s1a.ufs
mount -t ufs -o rw /dev/ad0s1a /mnt/ad0s1a.ufs
Далее переходим в папку /mnt/ad0s1a.ufs
Запускаю восстановление диска командой
restore -r -f /mnt/da0s1.ufs/${DATE}.root.s0.img
где ${DATE} - дата необходимого файла





Отключение журналирования UFS-SUJ после установки 
FreeBSD > 9.x
 
Журналирование включено по-умолчанию после установки ОС.  
В этом можно убедиться выполнив 

#tunefs -p /var 
или 
#tunefs -p /dev/ad4s1b 
Для отключения переходим в однопользовательский режим и выполняем
#tunefs -j disable /var 

Перегружаемся.


Комментарии

Популярные сообщения из этого блога

Многономерной транк от Датагруп к Elastix 2.5

В очередной раз украли кабель укртелекома, и восстановление "через полгода", но городские надо. Поскольку есть сервер Elastix2.5, решение очевидно sip-trunk. Укртелеком на вопрос sip-trunk "отморозился" причиной "он нестабилен, он ненадежен, и т.п., берите облачную атс" (зачем мне облачная атс?) Побывав на IT-Forum2018, встретил (единственного!!!! на весь форум) оператора/провайдера Датагруп, выяснил, что возможность подключить транк есть и подходит под мои условия(nat,отсутствие "белого ip") ТЗ;  -sip-trunk на 3 номера и 10 голосовых сессий; -атс на базе Elastix2.5. После заключения всех договоров и оплаты подключения, получен заветный конверт с логином паролем и адресом подключения (и иными параметрами подключения), 1) создаем транк: меню Trunk / Add SIP trunk Рис.1 Создаем  (Рис.1) Trunk Name : "имя транка",  Outbound CallerID : логин из конверта Рис.2 Далее (Рис.2) Trunk Name : "имя транка...

FreeBSD полезности

Приглашение командной строки bash В файле /etc/profile добавляется строка PS1="\h\\$ "; export PS1 в этом виде: \h - имя компьютера до первой точки; \\$ - если UID пользователя 0 (su/root), то будет выведен символ # , иначе $; можно использовать и другие символы: \u - имя юзера; \H - полное имя компьютера; \d -текущая дата " день недели месяц число"; \n - символ новой строкиж; \r - возврат карретки; \t - время в 24 формате (ч:м:с); \T - время в 12 формате; \w - текущий каталог с полным путем; \W - название текущего каталога; $() - внешняя команда в скобках, например (date). Ошибка при запуске MC common.c: unimplemented subshell type 1 read (subshell_pty...): ... проверить export $SHELL если /bin/sh изменить на /bin/csh командой chsh -s /bin/csh root перезайти netstat -nr проверить текущий шлюз по умолчанию

Использование windows(samba) диска в linux

Как подключить сетевой диск Windows в Linux Поддержку сетевых дисков Windows в Linux обеспечивает пакет cifs-utils. Если он у вас еще не установлен, в командной строке от имени суперпользователя введите sudo apt install cifs-utils Создайте в /mnt (или любом другом месте) папку, в которую мы будем подключать сетевой диск Windows: mkdir /mnt/winshare И наконец само подключение сетевой папки Windows в Linux выполняется с помощью команды mount.cifs mount.cifs //SERVER_IP/SHARE_NAME /mnt/winshare -o username=WIN_USER_NAME,password=WIN_USER_PASSWORD Такая команда выполнит присоединение к фаловой системе Linux сетевого диска Windows с именем SHARE_NAME, расположенного на сервере с IP-адресом SERVER_IP от имени WIN_USER_NAME с паролем WIN_USER_PASSWORD.  В большинстве случаев этого достаточно, если вы работаете от лица суперпользователя. Если же вы от лица суперпользователя производите только подключение сетевой папки Windows, а работать с ней планируете от лица об...