Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

 sierściuch
	

mam skrypt do nagrywania bekapów z konsoli na DVD, ale wymaga on jednak zmian przy tworzeniu nowej płyty a dodaniem nowej sesji
z powodu tego że:
growisofs -Z - tworzy sesję inicjującą, a z literką -M dodaje nową sesję
można byłoby uruchamiac skrypt z parametrem np ./nagraj.sh [nowa/nienowa] ale to i tak nie jest zbyt automatycznie
w jaki sposób skypt może sprawdzać czy nośnik jest nowy (lub nienowy)?
co można zrobić żeby skrypt wysunął płytę jeśli do końca nośnika DVD zostanie 50MB? 
nasuwa mi się użycie do mount /dev/cdrom do przeprowadzania tych testów
Offline






 Admin łajza
	






Wiem, że to nie jest odpowiedź wprost, ale... spróbuj programu burn. ;)
Offline

 sierściuch
	

burn niestety nie rozpoznaje poprawnie "capacity" cośnika
stwierdził że moja czysta płyta DVD ma 308MB i czy może nagrywać w takim wypadku
no i nie rozwiązuje głównej kwestii, również się pyta o to, czy to pierwsza sesja czy dodawana do istniejących
a więc wujo - lipe żes zapodał :)
Offline

 Użytkownik
	

Jakiś czas temu również poszukiwałem konsolowych narzędzi do wypalania płyt. Natknąłem się wtedy na dwa bliźniacze projekty:
bashburn mybashburn
Ten drugi jest w repo. Zaznaczam jednak, że nie sprawdzałem ich pod kontem Twoich wymagań.
Offline

 sierściuch
	

obydwa z tych programków wyświetlają okienko z menu, przy czym ten grugi nieco ładniejsze bo korzysta chyba z ncurses
siem więc nie nadają bo nie można użyć ich w skrypcie wywoływanym za pomoca cronu
Offline

 sierściuch
	

po poszukiwaniach we dokumentacji pakietu dvd+rw-tools
natrafiłem na narzędzie dvd+rw-mediainfo, które rozwiązuje wszystkie me problemy (znaczy z nagrywaniem bekapów)
i taki skrypt mi się napisał, który robi to co chciałem:
#!/bin/bash
DEV="/dev/cdrom"
DATA=file01.bak
DATA_CAP=$(( `ls -s "$DATA" | cut -f1 -d" "` * 1024 ))
DISC_STAT=`dvd+rw-mediainfo /dev/cdrom | awk '/Disc status:/ {print $3}'`
DISC_CAP=`dvd+rw-mediainfo /dev/cdrom | grep 'READ CAPACITY:' | cut -f2 -d"="`
DISC_FULL=4300000000
echo "nagrywam: $DATA"
echo "o wielkości: $DATA_CAP"
echo "stan nośnika: $DISC_STAT"
echo "zajętość nosnika $DISC_CAP"
echo "dopuszczalna zajętość nośnika: $DISC_FULL"
if [ "$((DISC_CAP+DATA_CAP))" -gt "$DISC_FULL" ]; then
    echo "nima miejsca, nie bede nagrywał"
    eject
    exit
fi
if [ "$DISC_STAT" == "blank" ]; then
    echo 'empty -> write_disc'
    growisofs -speed=8 -Z $DEV -R -J $DATA
elif [ "$DISC_STAT" == "appendable" ]; then
    echo 'is_session -> write_disc'
    growisofs -speed=8 -M $DEV -R -J $DATA
else echo "cos nie gra" | mail admin@redtube.com
ficzyli sprawdza czy nośnik jest pusty/częsciowo zapełniony/całkowicie zapełniony
podejmując odpowiednią akcje
Offline