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/.
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
Wiem, że to nie jest odpowiedź wprost, ale... spróbuj programu burn. ;)
Offline
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
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
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
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 fi
czyli sprawdza czy nośnik jest pusty/częsciowo zapełniony/całkowicie zapełniony
podejmując odpowiednią akcje
Offline