URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 81153
[ Назад ]

Исходное сообщение
"Запись DVD+RW с помощью growisofs по cron."

Отправлено bardak , 14-Июл-08 10:15 
Доброе время суток, написал скрипт для архивирования файлов на DVD+RW болванки. Попробовал запустить с консоли все работает отлично, а при выполнении это скрипта по CRON диски не пишуться. Запись делаю командой:
growisofs -dvd-compat -Z /dev/cd0 -J -R /{неважно}/
При запуске скрипта через cron выдает
FATAL: /dev/scd0 already carries isofs!
и отваливаеться...
Вопрос как это побороть???

Содержание

Сообщения в этом обсуждении
"Запись DVD+RW с помощью growisofs по cron."
Отправлено bardak , 14-Июл-08 10:17 
>Доброе время суток, написал скрипт для архивирования файлов на DVD+RW болванки. Попробовал
>запустить с консоли все работает отлично, а при выполнении это скрипта
>по CRON диски не пишуться. Запись делаю командой:
>growisofs -dvd-compat -Z /dev/cd0 -J -R /{неважно}/
>При запуске скрипта через cron выдает
>FATAL: /dev/scd0 already carries isofs!
>и отваливаеться...
>Вопрос как это побороть???

Забыл.
ОС - FreeBSD 7.0
DRD+RV - <SONY DVD RW DW-D26A/JYS2> at ata2-master UDMA33


"Запись DVD+RW с помощью growisofs по cron."
Отправлено Leo , 14-Июл-08 14:00 
>[оверквотинг удален]
>>по CRON диски не пишуться. Запись делаю командой:
>>growisofs -dvd-compat -Z /dev/cd0 -J -R /{неважно}/
>>При запуске скрипта через cron выдает
>>FATAL: /dev/scd0 already carries isofs!
>>и отваливаеться...
>>Вопрос как это побороть???
>
>Забыл.
>ОС - FreeBSD 7.0
>DRD+RV - <SONY DVD RW DW-D26A/JYS2> at ata2-master UDMA33

Справку читали?
М.б. -Z заменить на -M ?
Или диск чистить сперва


"Запись DVD+RW с помощью growisofs по cron."
Отправлено bardak , 14-Июл-08 14:29 
>
>Справку читали?
>М.б. -Z заменить на -M ?
>Или диск чистить сперва

Насколько я понял из мануалов параметр -М дописывает в уже созданную сессию. А мне необходимо перезаписать диск.

Попробовал заменить ключ, все равно писать не хочет, в логах появляется циклическая ошибка
Jul 14 15:28:57 kernel: ata2: FAILURE - non aligned DMA transfer attempted
Jul 14 15:28:57 kernel: acd1: setting up DMA failed
Jul 14 15:28:57 kernel: ata2: FAILURE - non aligned DMA transfer attempted
Jul 14 15:28:57 kernel: acd1: setting up DMA failed


"Запись DVD+RW с помощью growisofs по cron."
Отправлено bardak , 18-Июл-08 10:52 
Доброе день!
Спецы, подскажите как можно все-таки решить проблему с записью дисков DVD+RW по крону. Может есть какие-нибудь альтернативы growisofs???

"Запись DVD+RW с помощью growisofs по cron."
Отправлено aurved , 18-Июл-08 18:59 
я давным-давно бодался с этим же. Диск очищается только из консоли. Из под крона не получалось. В результате убрал проверку в исходном коде, которая не давала это сделать и перекомпилировал прогу. Все заработало. Может сейчас и есть другие варианты. Не знаю. Может и тогда можно было сделать по-другому. Но я не нашел. Мне проще так оказалось сделать.


"Запись DVD+RW с помощью growisofs по cron."
Отправлено bardak , 21-Июл-08 08:14 
>я давным-давно бодался с этим же. Диск очищается только из консоли. Из
>под крона не получалось. В результате убрал проверку в исходном коде,
>которая не давала это сделать и перекомпилировал прогу.

Если не затруднит, расскажи что конкретно нужно подправить в исходниках?

>Все заработало. Может
>сейчас и есть другие варианты. Не знаю. Может и тогда можно
>было сделать по-другому. Но я не нашел. Мне проще так оказалось
>сделать.


"Запись DVD+RW с помощью growisofs по cron."
Отправлено aurved , 23-Июл-08 15:09 
а какая у тебя ось и версия growisofs?



"Запись DVD+RW с помощью growisofs по cron."
Отправлено bardak , 23-Июл-08 15:47 
>а какая у тебя ось и версия growisofs?

ОС
# uname -rsp
FreeBSD 7.0-RELEASE i386

GROWISOFS
# growisofs -version
* growisofs by <appro@fy.chalmers.se>, version 7.1,

MKISOFS
# mkisofs -version
mkisofs 2.01.01a39 (i386-unknown-freebsd7.0) Copyright (C) 1993-1997 Eric Youngdale (C) 1997-2007 JЖrg Schilling

CDRTOOLS
# pkg_info | grep cdrtools
cdrtools-devel-2.01.01a39,1 CD/DVD and ISO-9660 image creation and extraction tools


"Запись DVD+RW с помощью growisofs по cron."
Отправлено aurved , 23-Июл-08 15:21 
в мане написано что можно из под крона писать UDF, но не ISO9660.

If the media already carries isofs and growisofs  is  invoked  with  -Z
option non-interactively, e.g. through cron, it shall fail with "FATAL:
/dev/dvd already carries isofs!" Note that only ISO9660 is  recognized,
you  can perfectly zap e.g. an UDF filesystem non-interactively.

Попробуй, а я пока поищу в коде проверку ту, которая не дает тереть из под крона.

Попозже выложу.


"Запись DVD+RW с помощью growisofs по cron."
Отправлено aurved , 23-Июл-08 15:45 
if (no_tty_check || (warn_for_isofs&2))
            fprintf (stderr,"WARNING: %s already carries isofs!\n",in_device),
            printf ("About to execute '");
        else
            fprintf (stderr,"FATAL: %s already carries isofs!\n",in_device),
            exit(FATAL_START(EBUSY));


вот вроде эта проверка, можно попробывать убрать последнюю строчку exit(FATAL_START(EBUSY));
то есть должно получиться:

if (no_tty_check || (warn_for_isofs&2))
            fprintf (stderr,"WARNING: %s already carries isofs!\n",in_device),
            printf ("About to execute '");
        else
            fprintf (stderr,"%s already carries isofs!\n",in_device);

или вообще убрать else



"Запись DVD+RW с помощью growisofs по cron."
Отправлено bardak , 23-Июл-08 15:49 
Спасибо, сейчас попробую.

"Запись DVD+RW с помощью growisofs по cron."
Отправлено aurved , 23-Июл-08 15:55 
да, оказывается полезно читать исходники, там есть опция (недокументированная)

-use-the-force-luke tty

она отключает проверку на интерактивность, у этой опции есть куча еще других параметров.

Ща попробую пишет ли из под крона с этой опцией.


"Запись DVD+RW с помощью growisofs по cron."
Отправлено aurved , 23-Июл-08 16:05 
-use-the-force-luke=tty

вроде так нужно



"Запись DVD+RW с помощью growisofs по cron."
Отправлено bardak , 23-Июл-08 16:25 
>-use-the-force-luke=tty
>
>вроде так нужно

Действительно, все работает с этим параметром... Проверил запись по cron два раза для пущей верности.
Огромнейшее СПАСИБО!!!