Привет всем написал скрипт для бекапа файлов на 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
Та же фигня была, но при записи вручную.
Разбираться времени не было, поэтому прочитал man growisofs, где написаноgrowisofs -Z /dev/scd0=/dev/zero
Затем пишешь то, что надо.
Только долго это, т.к. равносильно -blank=full
>Привет всем написал скрипт для бекапа файлов на 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