Давным-давно я написал набор костылей для автоматического копирования дисков под windows.
Сейчас мне приспичило то же самое под linux.
Скрипт сильно полагается на отрабатывание udev'ом автомонтирования и заточен под текущее состояние дел в lenny (и, вероятнее всего, в бубунтах). Предусмотрена ситуация нескольких CD (обрабатывается первый) и наличия loop-device'ов (монтированных ISO), они пропускаются.
Принцип работы: запустили скрипт, вставили диск, он скопировался, диск выдвинулся, как только вставили следующий, он снова скопировался. Отлично подходит для копирования пачки дисков без отвлечения на нажатия кнопок на клавиатуре.
Сейчас мне приспичило то же самое под linux.
Скрипт сильно полагается на отрабатывание udev'ом автомонтирования и заточен под текущее состояние дел в lenny (и, вероятнее всего, в бубунтах). Предусмотрена ситуация нескольких CD (обрабатывается первый) и наличия loop-device'ов (монтированных ISO), они пропускаются.
Принцип работы: запустили скрипт, вставили диск, он скопировался, диск выдвинулся, как только вставили следующий, он снова скопировался. Отлично подходит для копирования пачки дисков без отвлечения на нажатия кнопок на клавиатуре.
#!/bin/sh target="/pub/anime/from_cd" while true do mounted_cd_path=`mount|grep -v /dev/loop|grep iso9660|head -n 1|awk '{print $3}'` mounted_cd_device=`mount|grep "$mounted_cd_path"|awk '{print $1}'` if [ $mounted_cd_path- = - ] then sleep 5 continue else name=`volname $mounted_cd_device` echo $name: $mounted_cd_device mounted to $mounted_cd_path mkdir $target/$name cp -R $mounted_cd_path/* $target/$name eject $mounted_cd_device echo "ejected, please instert next disc or press Ctrl-C to exit" fi done