Скрипт для записи и проверки DVD
Периодически приходится писать на DVD разные вещи в консоли. Нередко я сначала раскидываю данные по каталогам, а потом уже пишу по принципу "1 каталог - 1 диск".
Для автоматизации процесса написал скрипт, который пишет на болванку содержимое каталога, проверяет качество записи и, в случае успеха, выдаёт записанный диск.
В первых строчках можно изменить имя устройства рекордера и метку, которая присваивается диску по умолчанию.
Запускать так:$ burner dir_with_files [new_label]
Параметр new_label опционален.
При необходимости можно и под прожиг CD модифицировать...
#!/bin/sh
dvd_dev=/dev/dvd
def_label="MY_SUPER_PUPER_DISK"
########################################
if [ "x$1" == "x" ]; then
echo "Usage: $0 dir-to-burn [label]"
exit 1;
fi
d=`readlink -f "$dvd_dev"`;
if [ -z "$d" -o ! -b "$d" ]; then
echo "Device $dvd_dev does not exists"
exit 9
fi
dvd_dev=$d
if pushd "$1"; then
if [ "x$2" == "x" ]; then
label="$DEF_LABEL"
else
label="$2"
fi
if growisofs -dvd-compat -Z $dvd_dev -J -r "-V$label" .; then
sleep 1
# now test
eject $dvd_dev
eject -t $dvd_dev
mount $dvd_dev
if [ "x$?" != "x0" ]; then
sleep 2
mount $dvd_dev
if [ "x$?" != "x0" ]; then
echo "Cannot mount DVD!"
exit 4
fi
fi
dvd=`mount |grep $dvd_dev |cut -f 3 -d " "`
if [ time diff -urNq $dvd . ]; then
eject $dvd_dev
else
echo "Verifying failed..."
exit 5
fi
else
echo "Burning failed..."
exit 3
fi
else
echo "Cannot cd to $1..."
exit 2
fi
popd
echo
echo "Burning OK!"
echo
exit 0
- Добавить комментарий
- 412 просмотров
Страница для печати
