The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"bash распил большого каталога на несколько dvd"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Языки программирования)
Изначальное сообщение [ Отслеживать ]

"bash распил большого каталога на несколько dvd"  +/
Сообщение от richit (ok) on 02-Окт-12, 15:23 
Коллеги. Видимо нехватка витаминов сказывается...
Как распилить народными средствами каталог из 33Гб на несколько по 4.5Гб для записи на dvd.
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "bash распил большого каталога на несколько dvd"  +/
Сообщение от ДорогойДрук on 02-Окт-12, 15:41 
а в чем задача?

tar/split?
или нужно максимально эффективно разбить файлы по разным болванкам, чтобы неиспользованного места было минимум?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "bash распил большого каталога на несколько dvd"  +/
Сообщение от richit (ok) on 02-Окт-12, 16:23 
> а в чем задача?
> tar/split?
> или нужно максимально эффективно разбить файлы по разным болванкам, чтобы неиспользованного
> места было минимум?

tar/split наводит на размышление, но конечный получатель без untar/unsplit должен все это скопировать в один каталог и забыть

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "bash распил большого каталога на несколько dvd"  +/
Сообщение от Andrey Mitrofanov on 02-Окт-12, 15:43 
> Коллеги. Видимо нехватка витаминов сказывается...
> Как распилить народными средствами каталог из 33Гб на несколько по 4.5Гб для
> записи на dvd.

Если есть _свободных 33Гб + 33Гб + 4.7Гб / МАКС., то ... элементарно, иначе ... ну, не на баше же?!

Первые 33Гб: tar во временный архив, вторые - сплит этого архива на куски по 2.295.000*2К, +4.7Гб - нарезать спличенные в .iso по одному (да, вижу, что после вторых +33Гб, первые можно сэкономить, или писать куски прямо на dvd без .iso... //33Гб+33Гб free, max.)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "bash распил большого каталога на несколько dvd"  +/
Сообщение от richit (ok) on 02-Окт-12, 16:18 
>> Коллеги. Видимо нехватка витаминов сказывается...
>> Как распилить народными средствами каталог из 33Гб на несколько по 4.5Гб для
>> записи на dvd.
> Если есть _свободных 33Гб + 33Гб + 4.7Гб / МАКС., то ...
> элементарно, иначе ... ну, не на баше же?!
> Первые 33Гб: tar во временный архив, вторые - сплит этого архива на
> куски по 2.295.000*2К, +4.7Гб - нарезать спличенные в .iso по одному
> (да, вижу, что после вторых +33Гб, первые можно сэкономить, или писать
> куски прямо на dvd без .iso... //33Гб+33Гб free, max.)

Ну вот Google уже проиндексировал ) эту ветку.

задача в чем, передать 33Гб на dvd дисках, чтобы девочка на том конце почтовой пересылки без зауми скопировала все в один каталог с них и все работало.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "bash распил большого каталога на несколько dvd"  +/
Сообщение от anonymous (??) on 02-Окт-12, 16:42 
>[оверквотинг удален]
>> Если есть _свободных 33Гб + 33Гб + 4.7Гб / МАКС., то ...
>> элементарно, иначе ... ну, не на баше же?!
>> Первые 33Гб: tar во временный архив, вторые - сплит этого архива на
>> куски по 2.295.000*2К, +4.7Гб - нарезать спличенные в .iso по одному
>> (да, вижу, что после вторых +33Гб, первые можно сэкономить, или писать
>> куски прямо на dvd без .iso... //33Гб+33Гб free, max.)
> Ну вот Google уже проиндексировал ) эту ветку.
> задача в чем, передать 33Гб на dvd дисках, чтобы девочка на том
> конце почтовой пересылки без зауми скопировала все в один каталог с
> них и все работало.

а файлы в каталоге могут быть больше 4.7 гб?

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "bash распил большого каталога на несколько dvd"  +/
Сообщение от richit (ok) on 02-Окт-12, 16:46 
>[оверквотинг удален]
>>> элементарно, иначе ... ну, не на баше же?!
>>> Первые 33Гб: tar во временный архив, вторые - сплит этого архива на
>>> куски по 2.295.000*2К, +4.7Гб - нарезать спличенные в .iso по одному
>>> (да, вижу, что после вторых +33Гб, первые можно сэкономить, или писать
>>> куски прямо на dvd без .iso... //33Гб+33Гб free, max.)
>> Ну вот Google уже проиндексировал ) эту ветку.
>> задача в чем, передать 33Гб на dvd дисках, чтобы девочка на том
>> конце почтовой пересылки без зауми скопировала все в один каталог с
>> них и все работало.
> а файлы в каталоге могут быть больше 4.7 гб?

неа... максимум 250Мб

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "bash распил большого каталога на несколько dvd"  +/
Сообщение от Andrey Mitrofanov on 02-Окт-12, 17:24 
> неа... максимум 250Мб

Тогда сортировать их по размеру и набивать самыми большими из "очереди", сколько влезет на один DVD, добивать до полного DVD первыми из списка, какие влезут, прополоскать-повторить.

В принципе, можно и многопроходности добавить, пооптимизировать, но обычно последний диск полупустой, поэтому чаще всего заморачиваться не имеет смысла (по сложности решения, в частности -- против +1болванки/иногда).

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

10. "bash распил большого каталога на несколько dvd"  +/
Сообщение от Andrey Mitrofanov on 02-Окт-12, 17:50 
>> неа... максимум 250Мб
> Тогда сортировать их по размеру и набивать самыми большими из "очереди", сколько

(*)первый проход.

> В принципе, можно и многопроходности добавить, пооптимизировать, но обычно последний диск
> полупустой, поэтому чаще всего заморачиваться не имеет смысла (по сложности решения,
> в частности -- против +1болванки/иногда).

И кста, родилось решение[ну, дебютная идея...] для олимпиады по программированию для 6 класса: после первого прохода. Смотреть, не _больше ли_ свободное место на дисках, кроме последнего, объёма файлов (с учётом накладных) на последнем диске. Если меньше -- делать ещё проход с перетрясанием [относительно] крупных с последнего на предыдущие (и мелких, вытесненных ими - на ?следующие). А вдруг -1диск вытрясется... Правда, вот с перебором и условием окончания -- у меня не очень.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

11. "bash распил большого каталога на несколько dvd"  +/
Сообщение от richit (ok) on 02-Окт-12, 18:20 
#!/bin/bash
    N=1
find ./ -type f | while read file; do
        size=`du -s ../"dvd$N" | awk '{print $1}'`
    echo "$size"
    if [ "$size" -le 4400000 ]
    then
    cp --parents "$file" ../dvd"$N" # ох... и зациклил я его ./ )))
        else let N=$N+1
    fi;
done

вот такая вот партянка. надо допилить напильником. ваши предложения, коллеги.
mkdir ../dvd"$N" - это понятно...

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

15. "bash распил большого каталога на несколько dvd"  +/
Сообщение от anonymous (??) on 02-Окт-12, 21:07 
>[оверквотинг удален]
>  echo "$size"
>  if [ "$size" -le 4400000 ]
>  then
>  cp --parents "$file" ../dvd"$N" # ох... и зациклил я его ./
> )))
>   else let N=$N+1
>  fi;
> done
> вот такая вот партянка. надо допилить напильником. ваши предложения, коллеги.
> mkdir ../dvd"$N" - это понятно...

Размер лучше stat'ом проверять. И без авка можно будет обойтись.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

16. "bash распил большого каталога на несколько dvd"  +/
Сообщение от richit (ok) on 03-Окт-12, 09:36 
>[оверквотинг удален]
>>  if [ "$size" -le 4400000 ]
>>  then
>>  cp --parents "$file" ../dvd"$N" # ох... и зациклил я его ./
>> )))
>>   else let N=$N+1
>>  fi;
>> done
>> вот такая вот партянка. надо допилить напильником. ваши предложения, коллеги.
>> mkdir ../dvd"$N" - это понятно...
> Размер лучше stat'ом проверять. И без авка можно будет обойтись.

простите, man stat не дает объема каталога или я не туда смотрю сутра пораньше.

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

12. "bash распил большого каталога на несколько dvd"  +/
Сообщение от richit (ok) on 02-Окт-12, 18:27 
>[оверквотинг удален]
>> В принципе, можно и многопроходности добавить, пооптимизировать, но обычно последний диск
>> полупустой, поэтому чаще всего заморачиваться не имеет смысла (по сложности решения,
>> в частности -- против +1болванки/иногда).
> И кста, родилось решение[ну, дебютная идея...] для олимпиады по программированию для 6
> класса: после первого прохода. Смотреть, не _больше ли_ свободное место на
> дисках, кроме последнего, объёма файлов (с учётом накладных) на последнем диске.
> Если меньше -- делать ещё проход с перетрясанием [относительно] крупных с
> последнего на предыдущие (и мелких, вытесненных ими - на ?следующие). А
> вдруг -1диск вытрясется... Правда, вот с перебором и условием окончания --
> у меня не очень.

Легенды

Легенда гласит, что в Великом храме города Бенарас, под собором, отмечающим середину мира, находится бронзовый диск, на котором укреплены 3 алмазных стержня, высотой в один локоть и толщиной с пчелу. Давным-давно, в самом начале времён, монахи этого монастыря провинились перед богом Брахмой. Разгневанный, Брахма воздвиг три высоких стержня и на один из них возложил 64 диска. Брахма поместил на один из стержней 64 диска из чистого золота, причем так, что каждый меньший диск лежит на большем.

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

Количество перекладываний в зависимости от количества колец вычисляется по формуле 2^n-1.

Число перемещений дисков, которые должны совершить монахи, равно 18 446 744 073 709 551 615. Если бы монахи, работая день и ночь, делали каждую секунду одно перемещение диска, их работа продолжалась бы 584 миллиарда лет.

В информатике задачи, основанные на легенде о Ханойской башне, часто рассматривают в качестве примера использования рекурсивных алгоритмов и преобразования их к не рекурсивным.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

8. "bash распил большого каталога на несколько dvd"  +/
Сообщение от Andrey Mitrofanov on 02-Окт-12, 17:27 
>чтобы девочка на том конце почтовой пересылки без зауми скопировала все

А вот для этого ещё нужен SETUP.EXE со "Вставьте следующий диск [Готово]" и autorun.inf.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

9. "bash распил большого каталога на несколько dvd"  +/
Сообщение от Andrey Mitrofanov on 02-Окт-12, 17:32 
> А вот для этого ещё нужен SETUP.EXE со "Вставьте следующий диск [Готово]"
> и autorun.inf.

Многотомный SFX WinRar, как бы это ни было?.. :|  (Многотомный SFX 7-Zip??)

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

13. "bash распил большого каталога на несколько dvd"  +/
Сообщение от dima email(??) on 02-Окт-12, 18:34 

купить флэшку  на 32-64Гб
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

14. "bash распил большого каталога на несколько dvd"  +/
Сообщение от richit (ok) on 02-Окт-12, 18:51 
> купить флэшку  на 32-64Гб

об этом тоже думали, но как всегда жаль денег )

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру