У меня есть папка /x/ с большим количеством подпапок и субфайлов. Мне нужно переместить все в /x/ на /y/, но мне нужно сделать это 40 ГБ за раз. Я делал mv /x/a*, а затем на следующий день mv /x/b*, но иногда это могло означать, что много файлов было перемещено или очень мало. Мне нужно что-то более предсказуемое. Я хотел бы запустить mv /x/*, но каким-то образом ограничить его до 40 Гбайт всех перемещаемых файлов. Какие у меня варианты? Не то, чтобы это было необходимо, но я буду помещать это в скрипт .sh и использовать cron.
Спасибо =)
Редактировать: я отметил лучший ответ, но он не работает для моего дела. Я использую ACD_CLI для загрузки моих резервных копий и других файлов на Amazon Cloud Drive. То, что я сделал, это решить проблему в обратном направлении. Моя проблема заключалась в том, как загружать большое количество файлов без насыщения моей пропускной способности в течение дня. Я работаю из дома, поэтому встреча в скайпе, а что нет. Ответ состоял в том, чтобы включить QOS на моем маршрутизаторе. Теперь я могу загружать 24/7, а мой скайп и другой трафик имеют прецедент над загрузкой файла. Это было отличное решение, помеченное ниже, и я знаю, что это хорошо поможет другим людям в будущем.
Создайте сжатый tar-файл всех файлов, которые вам нужно переместить, разделите файл tar на блоки размером 40 Гб и переместите их по одному за раз.
Пример:
создать архивtar -zcvf file.tar.gz /directory/*
c create z compress v verbose f использовать файл как target разделите их на split -b 40M file.tar.gz
(по умолчанию) он будет создавать файлы, начинающиеся с xaa, xab, xac примерно 40Mb каждый. Переместите их на новое место. Восстановите файл cat x* > file.tar.gz
и разблокируйте его ... tar xvfz file.tar.gz .
Создайте сжатый tar-файл всех файлов, которые вам нужно переместить, разделите файл tar на блоки размером 40 Гб и переместите их по одному за раз.
Пример:
создать архивtar -zcvf file.tar.gz /directory/*
c create z compress v verbose f использовать файл как target разделите их на split -b 40M file.tar.gz
(по умолчанию) он будет создавать файлы, начинающиеся с xaa, xab, xac примерно 40Mb каждый. Переместите их на новое место. Восстановите файл cat x* > file.tar.gz
и разблокируйте его ... tar xvfz file.tar.gz .
Создайте сжатый tar-файл всех файлов, которые вам нужно переместить, разделите файл tar на блоки размером 40 Гб и переместите их по одному за раз.
Пример:
создать архивtar -zcvf file.tar.gz /directory/*
c create z compress v verbose f использовать файл как target разделите их на split -b 40M file.tar.gz
(по умолчанию) он будет создавать файлы, начинающиеся с xaa, xab, xac примерно 40Mb каждый. Переместите их на новое место. Восстановите файл cat x* > file.tar.gz
и разблокируйте его ... tar xvfz file.tar.gz .
Создайте сжатый tar-файл всех файлов, которые вам нужно переместить, разделите файл tar на блоки размером 40 Гб и переместите их по одному за раз.
Пример:
создать архивtar -zcvf file.tar.gz /directory/*
c create z compress v verbose f использовать файл как target разделите их на split -b 40M file.tar.gz
(по умолчанию) он будет создавать файлы, начинающиеся с xaa, xab, xac примерно 40Mb каждый. Переместите их на новое место. Восстановите файл cat x* > file.tar.gz
и разблокируйте его ... tar xvfz file.tar.gz .