Перемещение/копирование большого количества файлов на freebsd

Есть у фряхи такая проблема, как невозможность задать приоритет доступа к диску для различных команд, как это сделано в линуксе, например. И из-за этого, если вам нужно переместить большой объем данных с одного диска на другой, во время выполнения операции трудности с доступом к диску будут испытывать все остальные программы, например mysql сервер, php скрипты и все остальное. Из-за этого на работающем сервере желательно не производить такие операции.

Но если все же других вариантов нету, то у меня для вас есть решение проблемы: будем копировать файлы один за одним делая паузы между ними.

Это конечно подойдет не всем. Если, например нужно переместить один большой файл то это не поможет.

Собственно сама команда:

find /dir/to/src/* -name '*' -exec echo move {} \; -exec cp -R {} /dir/to/dest/ \; -exec rm -rf {} \; -exec sleep 3 \;

Зачем делается cp а затем rm вместо mv? Потому как mv почему то не может за собой удалить папку с файлами, поэтому для универсальности решения используется именно эта комбинация.

Число 3 в конце — это время в секундах, какую паузу нужно сделать после перемещения одного файла/папки.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Post Navigation