mv файлы из одной папки в другую 40 ГБ за раз

У меня есть папка /x/ с большим количеством подпапок и субфайлов. Мне нужно переместить все в /x/ на /y/, но мне нужно сделать это 40 ГБ за раз. Я делал mv /x/a*, а затем на следующий день mv /x/b*, но иногда это могло означать, что много файлов было перемещено или очень мало. Мне нужно что-то более предсказуемое. Я хотел бы запустить mv /x/*, но каким-то образом ограничить его до 40 Гбайт всех перемещаемых файлов. Какие у меня варианты? Не то, чтобы это было необходимо, но я буду помещать это в скрипт .sh и использовать cron.

Спасибо =)

Редактировать: я отметил лучший ответ, но он не работает для моего дела. Я использую ACD_CLI для загрузки моих резервных копий и других файлов на Amazon Cloud Drive. То, что я сделал, это решить проблему в обратном направлении. Моя проблема заключалась в том, как загружать большое количество файлов без насыщения моей пропускной способности в течение дня. Я работаю из дома, поэтому встреча в скайпе, а что нет. Ответ состоял в том, чтобы включить QOS на моем маршрутизаторе. Теперь я могу загружать 24/7, а мой скайп и другой трафик имеют прецедент над загрузкой файла. Это было отличное решение, помеченное ниже, и я знаю, что это хорошо поможет другим людям в будущем.

1
задан 10 April 2017 в 16:51

4 ответа

Создайте сжатый 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 .
3
ответ дан 22 May 2018 в 23:49
  • 1
    Smart & amp; просто! – Jacob Vlijm 10 April 2017 в 10:24
  • 2
    Это здорово, и я отметил, что правильно, потому что я искал по всему Интернету, и это лучший ответ, но он не работает для меня = /, я объясню в вопросе. – Levi 10 April 2017 в 16:45
  • 3
    @Levi сделать это ответом и принять ваше. Я смущаюсь с моим ответом ;-) Экземпляры - это кошмар для таких вещей. Мы используем «копии-файлы». над "ssh" для наших экземпляров google с выделенным VPN. – Rinzwind 10 April 2017 в 16:58
  • 4
    @Rinzwind Nope! У вас был правильный ответ на мой исходный вопрос =). Я должен был спросить, как это сделать, к счастью, я пришел к правильному выводу. Теперь я получаю 2-3 недели 24/7 загрузки. – Levi 10 April 2017 в 18:20

Создайте сжатый 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 .
3
ответ дан 18 July 2018 в 15:15

Создайте сжатый 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 .
3
ответ дан 24 July 2018 в 20:35

Создайте сжатый 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 .
3
ответ дан 31 July 2018 в 23:37

Другие вопросы по тегам:

Похожие вопросы: