LINUX.ORG.RU
ФорумAdmin

Как быстро сохранить бэкап одновременно на два разных диска локальной машины?

 , ,


1

3

Есть папка на внутреннем жёстком диске ноутбука содержащая огромное количество самых разнообразных файлов. Я условно назову её «Коллекция». Бэкап делается в двух экземплярах, один экземпляр хранится на том же разделе диска что и сама коллекция, а второй экземпляр сохраняется на внешний USB-HDD.

Обычно для сохранения я последовательно запускал команду вида «cp -vax», однако недавно я задумался над тем как этот процесс ускорить. Первое что приходит в голову это параллельно запустить две «cp», одна будет копировать коллекцию на внутренний диск, а другая на внешний. Однако даже это ещё не предел, ибо компьютер будет фактически дважды считывать с диска одни и теже файлы. В идеале компьютер должен один раз считать файл с диска и потом скопировать считанные данные в два места одновременно.

Однако как это сделать? Сам «cp» тут бесполезен (если только не пробовать написать целый отдельный хитромудрый скрипт с последовательным копированием файлов в RAM-диск, а с него уже в пункты назначения.) Мне нужна программа которая позволяет это легко сделать и которая при этом сохраняеть всё то, что сохраняет «cp -vax»(вроде прав и т.д.). То есть, софтина работающая по принципу «один раз прочитал - два раза записал, причём записал одновременно».

Deleted

запускал команду вида «cp -vax», однако недавно я задумался над тем как этот процесс ускорить

Для начала, не помешает взглянуть на rsync.

beastie ★★★★★
()
Ответ на: комментарий от beastie

Глядел я на rsync. Те примеры что дал мне Гугл демонстрируют применение rsync для одновременного копирования данных на два разных компьютера по сети. Осталось непонятным способен ли rsync на такой же трюк, но в рамках одного компьютера.

Deleted
()
Ответ на: комментарий от beastie

Чуваку надо так

cp src dest1 dest2 // где как я понял один из destX это локальный хард, другой - внешний хард, т.е. multi destination copy.

rsync cat1 cat2 cat3 // копирует cat1 и cat2 в cat3, так?

Я почитал ман и не увидел как сделать local multi destination copy.

anonymous
()
Ответ на: комментарий от Deleted

Главный цимес его в том, что он копирует только то, что надо копировать. И только это уже +1000% к скорости. А там уже lvm snapshot и копируешь 2 раза спокойно в 2 места.

beastie ★★★★★
()
Ответ на: комментарий от Deleted
rsync -aq /src/ /dst1/
rsync -aq /src/ /dst2/
Deleted
()
Ответ на: комментарий от Deleted

Ну так и копируй на свой комп по сети, через lo :)

anonymous
()
Ответ на: комментарий от Deleted

Глядел я на rsync. Те примеры что дал мне Гугл демонстрируют применение rsync для одновременного копирования данных на два разных компьютера по сети. Осталось непонятным способен ли rsync на такой же трюк, но в рамках одного компьютера.

Вам же говорили почитать ман? если мне не изменяет память, это опции --backup и --backup-dir, дальше думаю сами прочитаетедогадаетесь что с этим делать.

twixt
()
Ответ на: комментарий от twixt

А у Вас самого хоть есть уверенность что rsync умеет копировать в несколько мест ЛОКАЛЬНО? Я вот сейчас курю ман и что-то ничего толкового пока не получается.

Вот что я безуспешно пытался запустить:

«rsync -av --copy-dest=/tmp/dest01/ --copy-dest=/tmp/dest02/ --files-from=/tmp/CopyMe/»

Deleted
()
Ответ на: комментарий от Deleted

Ну я бы не писал. rsync --backup --backup-dir=DIR SRC[SRC] DEST
В общем указав эти ключи вы получите файлы в месте назначения и их копии в каталоге который укажите в DIR. Еще можно ключ --sufix заюзать!

twixt
()
Ответ на: комментарий от Deleted

rsync умеет копировать в несколько мест ЛОКАЛЬНО?

Нет, не умеет.

rsync был предложен, чтобы копировать только изменения, а не все дерево как это делает команда cp

futurama ★★★★★
()
Ответ на: комментарий от Deleted

Ну что там писать вам виднее, я протестировал на одном файле

ls /home/ad/src
Инструкция по подключению к сети vpn.odt


rsync  --backup-dir=/home/ad/backup --backup /home/ad/src/Инструкция\ по\ подключению\ к\ сети\ vpn.odt  /home/ad/dest

ls /home/ad/backup/
Инструкция по подключению к сети vpn.odt

ls /home/ad/dest/
Инструкция по подключению к сети vpn.odt

Как видите он был скопирован в два локальных каталога.

twixt
()
Ответ на: комментарий от twixt

Спасибо!

Но вот как насчёт копирования директорий? Я использовал нижеприведенную команду без особого успеха:

«rsync -v --backup-dir=/tmp/dest01/ --backup /tmp/CopyMe/ /tmp/dest02/»

Deleted
()
Ответ на: комментарий от Deleted

Интересная хрень))) rsync --backup-dir=/home/ad/backup --backup /home/ad/src/* /home/ad/dest копирует все содержимое ~/src по двум директориям(следи за колв-ом пробелов)

twixt
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.