Pull to refresh

Автоматическое копирование CD/DVD на HDD

Reading time 1 min
Views 2K
Давным-давно я написал набор костылей для автоматического копирования дисков под windows.

Сейчас мне приспичило то же самое под 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

Tags:
Hubs:
+27
Comments 29
Comments Comments 29

Articles