Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1
RSS
How to backup, как сделать бекап
 
OS: Linux Slackware

$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/hda1              19G   11G  6.9G  60% /
/dev/hda4              26G   18G  6.8G  72% /usr
/dev/hda6              28G   15G   11G  58% /home
/dev/hda3             3.8G  1.3G  2.5G  34% /root/windows
/dev/sda               74G   0   74G  0% /root/sata


Помогите составить bash скрпипт,
нужно копировать всё что есть на hda1/4/6/3(ata disk) на sda (sata disk (backup disk))
что бы копировал со всеми линками итд.
и можно ли получить какой то лог, что бы видеть какие файлы не удалось скопировать.

Наброски:

Код
#!/bin/bash
mount /dev/sda /root/sata
sleep 5
cp -RP / /root/sata
sleep 1
umount /root/sata


при этом, не должно получатся так, что будет копировать сам себя, то есть /root/sata в /root/sata

команда для размышления:
cd / && echo cp -a `/bin/ls -1Ab | egrep -v "^new-disk$|^proc$"` /new-disk | sh
от:
http://tldp.org/HOWTO/Hard-Disk-Upgrade/copy.html


Может у кого есть готовое решение?

Заранее благодарю.
 
Цитата
waza123 пишет:
нужно копировать всё что есть на hda1/4/6/3(ata disk) на sda (sata disk (backup disk))
что бы копировал со всеми линками итд.
dd if=/dev/hda of=/dev/sda bs=64M
 
2 apple
+1

Как вариант - софтрейд.
 
dd конечно рулит, но вот с пофайловым логом проблемка :)
 
Вариации, исключения поправить под свои нужды.

Код
cd /; find -x . \( \! \( \
                        -path . -or \
                        -path ./dev -or -path ./dev/\* -or \
                        -path ./home -or -path ./home/\* -or \
                        -path ./lost+found -or -path ./lost+found/\* -or \
                        -path ./mnt -or -path ./mnt/\* \
                         \) -and \( \! -type d -or \( \
                        -type d -and -empty \) \) \) -print | \
                        tar -c -f /dev/stdout -T /dev/stdin \
                                --nodump | \
                        gzip -9c > $BACKUP_STORE/root.tgz


Кроме того, в линуксах, вроде, тоже должно работать dump/restore
 
я зделал:

# dd if=/dev/hda of=/dev/sda bs=64M

после 1h работы, диск /sda/ весил 17T (Terabyte) Что за глюки ? сам HDD только 80 Gb.

# ls -la /root/sata
ls error, cannot read тыры пыры чё то типо того...

зделал
# umount /dev/sda

# mount /dev/sda /root/sata
mount: Resource temporarily unavailable
#

Теперь ваще не могу зайти на HDD, помогите, "dd" запарол мне HDD.

Как его отчистить? ожевить..

cfdisk (Выводит только hda1,2,3,4)
 
Для начала сделай fdist /dev/sda и посмотри что с разметкой. Ты копировал диск целиком так что теперь на sda должно быть 4 раздела, попробуй монтировать отдельные разделы, а не физический диск.
 
Цитата
waza123 пишет:
# dd if=/dev/hda of=/dev/sda bs=64M

после 1h работы, диск /sda/ весил 17T (Terabyte) Что за глюки ? сам HDD только 80 Gb.
Внимательно смотри на это:
Цитата
waza123 пишет:
/dev/sda 74G 0 74G 0% /root/sata
Это диск без таблицы разделов!
А теперь медленно осмысливаешь что делает команда dd, сколько разделов по результам ее работы будет на sda и что произойдет после клонирования диска с таблицей разделов на диск смонтированный как файловая система без таблицы разделов если туда что-нибудь записать.
Вобщем, разбираться с основами - что такое таблица разделов, зачем fdisk/cfdisk шлет ioctl системе требуя перечитать таблицы разделов и почему клонировать меняющуюся систему с помощью dd нельзя. И сразу отпадут все глупые вопросы и станет ясно откуда растут ноги у "глюков" и почему mount ругается:
Цитата
waza123 пишет:
# mount /dev/sda /root/sata
mount: Resource temporarily unavailable

Правильное решение:
# umount /dev/sda
# sed -i "s|^/dev/sda|# /dev/sda|" /etc/fstab
# mount -o remount,ro -a
# dd if=/dev/hda of=/dev/sda bs=64M
# mount -o remount,rw -a
 
Цитата
RIISSK пишет:
dd конечно рулит, но вот с пофайловым логом проблемка
"mount -o remount,ro -a" если клонируется работающая система.
 
waza123, надеюсь у тебя в /root/sata ничего нужного не было до того, как ты запустил dd? Потому что если что-то было, то уже нет, и восстановлению не подлежит. Совет использовать dd подразумевал, что на sda нет никаких нужных данных. В противном случае следовало использовать cp, tar или rsync. Нужно грамотно формулировать вопросы.
 
Да нет, я просто имею в виду что он хотел лог - какие файлы и когда забекапились. А dd в этом варианте копирует секторами и соответственно не может дать информацию о файлах.
 
Цитата
RIISSK пишет:
Да нет, я просто имею в виду что он хотел лог - какие файлы и когда забекапились.
Ясно. А то я предположил, что под логом подразумевается журнал файловой системы, отвечающий за журналирование файловых операций.
 
проще и правильней наверно, в данном случае использовать rsync + cron
и не городить лес
 
sata hdd оживил,

а что произойдет с системой если её так придушить, отрубив на запись всё ? мне это не катит.. потому что у меня там нереал загруженая система, и мне нужен бекап, но не такой что бы там всё за стопорилось..

там mysql каждую сек чё то обновляет, добавляет и др. проги.

как этот "ro" (read only) может навредить ?

core2quad
8 gb ram
 
Этот вариант бекапа вам не подойдёт. Замораживание систем с большим количеством обновлений обычно ведёт к сваливанию различных частей. Что касается mysql, горячий бекап баз данных требует специального софта или использование внутренних средств базы. Дело в том, что если просто копировать базу по файлам в то время когда она обновляется, то после восстановления, она будет повреждена - таблицы перезаписанные раньше не будут иметь тех-же обновлений которые внесены в таблицы записанные позже. В таких случаях обычные методы резервного копирования можно применять только на холодной системе, когда все динамичные сервисы остановлены.
Страницы: 1
Читают тему