>Привет всем написал скрипт для бекапа файлов на DVD в понедельник он
>должен отформатировать болванку DVD+RW (если не отформатирована), стереть с нее все
>и записать по новой. в остальные дни со вторника по пятницу
>просто дописывает.
>в понедельник
>1)growisofs -Z /dev/scd0 -D -l -L -N -R -J -allow-multidot /{неважно}/
>в остальные дни
>2)---"--- -M ------------"----------
>при запуске скрипта в ручную все окей, а при запуске через cron
>для 1)
>выдает
>FATAL: /dev/scd0 already carries isofs!
>и отваливаеться
>Вопрос как это побороть
>на
>dvd+rw-format -blank/-blank=full/-blank -force/-blank=full -force /dev/scd0 не реагирует
>Система slackware 9.1 (2.4.22)
>TEAC 516G
Можно поправить исходники:
пробовал на версии dvd+rw-tools-5.21.4.10.8
правишь файл growisofs.c
нужно найти already carries isofs
Вот этот кусок кода:
if (warn_for_isofs)
{ int fd=open("/dev/tty",O_RDONLY);
if (fd>=0)
{ if (isatty (fd)) warn_for_isofs |= 2;
close (fd);
}
else if (isatty (0)) warn_for_isofs |= 2;
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));
}
else
printf ("Executing '");
Проверка if (warn_for_isofs) -- это проверка на интерактивный режим работы.
можно поставить перед проверкой warn_for_isofs=0 или вот так:
if (0)
{ int fd=open("/dev/tty",O_RDONLY);
if (fd>=0)
{ if (isatty (fd)) warn_for_isofs |= 2;
close (fd);
}
else if (isatty (0)) warn_for_isofs |= 2;
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));
}
else
printf ("Executing '");
Потом сделай make clean && make && make install
У меня все теперь пишет и из под cron`a