Необходимо решить задачу сохранения накопленных за день данных, предварительно проверив, умещаются ли они на одну DVD-R. Если нет, то сформировать нужное кол-во дисков, запрашивая их у пользователя. Данные должны удаляться, только после проверки успешной записи. Добавить уведомление о установки и извлечения дисков. Все файлы находятся в одном каталоге, в разных подкаталогах.
Заранее спасибо.
Автозапись на DVD
Модератор: Модераторы разделов
-
NickLion
- Сообщения: 3408
- Статус: аватар-невидимка
- ОС: openSUSE Tumbleweed x86_64
Re: Автозапись на DVD
0) предполагается, что подпапки нельзя разбивать?
1) нужно пересчитать размер каждой подпапки с учетом того, что файл на болванке может занимать больше, чем весит - точно не скажу, надо искать инфо по этому поводу (возможно сами каталоги также требуют дополнительного учета)
2) исходя из размера диска и папок принимаем решение - вместится или нет
3) если необходимо разбить на несколько дисков, то тут надо подумать (посмотрите на задачу о рюкзаке, но тут не все так просто...)
4) для записи консольные утилиты использовать, вроде growisofs.
5) для проверки - не знаю, есть ли что-то специальное, можно просто для каждого файла сравнивать md5sum на винте и диске.
6) удалять - ну тут и так думаю ясно
1) нужно пересчитать размер каждой подпапки с учетом того, что файл на болванке может занимать больше, чем весит - точно не скажу, надо искать инфо по этому поводу (возможно сами каталоги также требуют дополнительного учета)
2) исходя из размера диска и папок принимаем решение - вместится или нет
3) если необходимо разбить на несколько дисков, то тут надо подумать (посмотрите на задачу о рюкзаке, но тут не все так просто...)
4) для записи консольные утилиты использовать, вроде growisofs.
5) для проверки - не знаю, есть ли что-то специальное, можно просто для каждого файла сравнивать md5sum на винте и диске.
6) удалять - ну тут и так думаю ясно
-
eddy
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: Автозапись на DVD
NickLion писал(а): ↑02.10.2009 08:121) нужно пересчитать размер каждой подпапки с учетом того, что файл на болванке может занимать больше, чем весит - точно не скажу, надо искать инфо по этому поводу (возможно сами каталоги также требуют дополнительного учета)
2) исходя из размера диска и папок принимаем решение - вместится или нет
3) если необходимо разбить на несколько дисков, то тут надо подумать (посмотрите на задачу о рюкзаке, но тут не все так просто...)
4) для записи консольные утилиты использовать, вроде growisofs.
5) для проверки - не знаю, есть ли что-то специальное, можно просто для каждого файла сравнивать md5sum на винте и диске.
6) удалять - ну тут и так думаю ясно
1) mkisofs/genisoimage с ключом -print-size - узнаем размер образа. Иначе придется сделать некоторый допуск - т.е. считать, например, что размер диска 4000Мб.
2) Если считать размер каждой директории при помощи du, для суммирования можно использовать bc - так же можно вначале определить и примерное кол-во болванок
3) А вот здесь (если директории нельзя разбивать) голым башем вряд ли обойтись - получается что-то вроде задачи о размене монет, только в качестве монет выступает размер директорий. Если же директории разбивать можно, задача усложняется еще больше - нужно определить сколько и каких файлов дописать для заполнения места.
4) или wodim
5) можно проверять по md5, а можно - при помощи dd (я обычно проверяю вторым способом)
6) чтобы с удалением не было проблем, лучше для записи создавать временную директорию, куда и перемещать то, что должно быть записано - тогда не будет шансов пропустить какой-либо файл или записать дважды.
В общем, все автоматизируется легко, кроме третьего шага. Но и его можно автоматизировать, если знаете какой-либо язык программирования.
Вообще, задача довольно интересная: сам делаю бекапы вручную - создал на диске файл-образ размером как раз с dvd; отформатировал его в ext2; монтирую; заполняю тем, что надо бекапить, пока место не кончится; отмонтирую; записываю образ на болванку; проверяю.
Неудобство этого подхода в том, что приходится запоминать, что ты уже записал, а что - еще нет. Зато есть и два явных плюса - 1) не надо постоянно проверять размер будущей ФС, 2) из-под мастдая такой диск прочесть проблематично - дополнительная защита ваших данных
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка