Логические тома легче создать на лету, изменить размер, удалить.
"К LVM или не" вопрос всегда имеет тот же ответ, он зависит :)
Это имеет смысл при необходимости в гибкости в диске (дисках), уровне раздела (разделов).
Это не имеет большого смысла, если Вы не нуждаетесь в гибкости, обеспеченной LVM, или не хотите использовать в своих интересах другие функции LVM
Использовать rsync --progress [SRC] [DST]
Действительно проверьте man rsync
страница, потому что это имеет много очень полезных опций. -a
поскольку архив является хорошим началом, но он зависит от Ваших строгих требований.
Копирование через канал излишне замедлит процесс копии, особенно если это будут базирующиеся файлы.
Вы могли использовать tar
или pax
или cpio
:
mkdir -p dst &&
(cd src && tar cf - .) | pv -trb | (cd dst && tar xpf -)
v
к tar
команда для наблюдения имен файлов.
– peterph
21.01.2014, 17:17
tar cf -
производит поток, содержащий файлы и их метаданные, которые питаются через канал к объему плазмы, который подает их нетронутый к другому tar
при печати признака прогресса и другого tar
извлекает данные в том потоке. Все три команды, выполненные одновременно и, обрабатывают данные, как это прибывает, нет ничего сохраненного на диске, нет ничего сохраненного в памяти кроме буферов канала и команд внутренних буферов, который просто составляет несколько килобайтов. большое спасибо
– Stéphane Chazelas
08.03.2018, 15:31
pv
не имеет никакого способа знать, сколько там должны передать данные. Если у Вас есть оценка той суммы, можно передать ее ей с -s
опция (GNU du -sb src
дал бы Вам хорошее приближение, если файлы являются достаточно большими)
– Stéphane Chazelas
08.03.2018, 17:06
Tar.
tar -cf - /var/log/ | pv | tar -C . -x
Пример:
# tar -cf - /var/log/ | pv | tar -C . -x
tar: Removing leading `/' from member names
58MB 0:00:05 [ 2.2MB/s] [ <=>
Вы можете сделать DU -B / Directory /
на обоих источниках, так и на месте, когда выполняется обычная команда копирования и сравнивает два. Это так же эффективно и не замедляет процесс копирования, толкая его через трубу.
Вот несколько команд для копирования каталогов с информацией о ходе выполнения.
Если есть много маленьких файлов:
cp -av sourcedir targetdir | pv -l -s filecount > logfile
Это сообщит о прогрессе, основанном на количестве копируемых файлов.
Вы можете перенаправить на /dev/null
, если вам не нужен logfile
.
Используйте следующую команду для получения filecount
:
find sourcedir | wc -l
Если есть несколько огромных файлов:
tar c sourcedir | pv -s size | tar x -C targetdir
Это сообщит о прогрессе на основе байтов, которые копируются.
targetdir
должен существовать.
Используйте следующую команду для получения size
:
du -sh sourcedir
Если вы хотите использовать rsync:
rsync -ai sourcedir/ targetdir/ | pv -l -s filecount > logfile
Получите filecount
, как показано выше.
Если вы копируете в одной системе, то rsync -a
практически то же самое, что cp -a
. Преимущества rsync - при копировании по сети или при обновлении (или сравнении) предыдущей копии.
См. подробнее здесь: