[#] Automatyczna kopia danych na płycie DVD

( Ostatnio zmieniony sob., 14/06/2008 - 12:33 )
 

Co potrzebujemy?

  • pakiet dvd+rw-tools
  • cron
  • nagrywarkę DVD
  • drukarkę (tutaj użyto OKI321)

Jak to działa

  1. Wkładamy pustą płytę DVD
  2. O godzinie 23:00 wykonuje się kopia z weryfikacją danych
  3. Na drukarce zostaje wydrukowana informacja o powodzeniu operacji
  4. Następnego dnia wkładamy pustą płytę DVD do napędu
  5. całość powtarza się automatycznie

Ustawienie zadań w crontab

00 23     * * *     root    /bin/sh /home/set/dvd_backup.sh >/home/set/dvd_backup.log 2>&1

dvd_backup.sh

#!/bin/sh

ZAPISZTU='/home/set/kopia/'
CZAS=`date +%Y-%m-%d_%H-%M-%S`
PLIK1=stale_"$CZAS".zip
KATALOG1='/dane/Applic/sb4/STALE/'
PLIK2=kopia_bezp_"$CZAS".zip
KATALOG2='/dane/kopia_bezp'
PLIK3=SB_pliki_"$CZAS".zip
KATALOG3='/dane/Applic/sb4/*.*'

echo "##############################################"
echo "# Uruchomienie backupu = $CZAS #"
echo "##############################################"
echo ""

cd "$ZAPISZTU"
echo "####################"
echo "# PAKOWANIE DANYCH #"
echo "####################"
zip -r9 "$PLIK1" "$KATALOG1"
zip -r9 "$PLIK2" "$KATALOG2"
zip -r9 "$PLIK3" "$KATALOG3"

cd ..
echo "#####################"
echo "# NAGRYWANIE DANYCH #"
echo "#####################"
growisofs -Z /dev/scd0 -R -J /home/set/kopia
dvdrecord -eject dev=0,1,0 # wysuw płyty z napędu DVD

echo "########################################"
echo "# Koniec backupu = $CZAS #"
echo "########################################"
echo ""

echo "##################################"
echo "# Wydruk komunikatów na drukarce #"
echo "##################################"

printf "\n##############################################################################\n"|lpr -P oki321
printf "\n# WERFIKACJA KOPI BEZPIECZENSTWA SMALL BUSINESS Z DNIA : $CZAS #\n"| lpr -P oki321
printf "\n##############################################################################\n"|lpr -P oki321

#--------------------WERFIKACJA-------------------#
mount /dev/scd0 /media/cdrom0
DVD=/media/cdrom0
#lista=$(diff -s "$ZAPISZTU" "$DVD" | grep ident | sed 's/.*\///;s/\ .*//')
lista=$(diff -s "$ZAPISZTU" "$DVD" | grep ident)
if [ -z "$lista" ]; then
    printf "\n Brak identycznych plikow w podanych katalogach\n"| lpr -P oki321
    printf "\n#####################################################\n"| lpr -P oki321
    printf "\n# KOPIA BEZPIECZENSTWA BLEDNA - WEZWIJ SERWIS !!!!! #\n"| lpr -P oki321
    printf "\n#####################################################\n"| lpr -P oki321
else
    printf "\n--- Pliki identyczne ---\n"| lpr -P oki321
    printf "\n$lista\n"| lpr -P oki321
    printf "\n------- Koniec -------\n"| lpr -P oki321
    printf "\n###############################################\n"| lpr -P oki321
    printf "\n# KOPIA BEZPIECZENSTWA WYKONANA POPRAWNIE !!! #\n"| lpr -P oki321
    printf "\n###############################################\n"| lpr -P oki321
    #-------USUNIĘCIE DANYCH Z KATALOGU -------#
    cd "$ZAPISZTU"
    rm -f *.*
fi
umount /dev/scd0
dvdrecord -eject dev=0,1,0 # wysuw płyty z napędu DVD

Powyższy skrypt jest twórczością Michała M.

Twoja ocena: Brak Średnio: 5 (1 vote)

Dodaj nową odpowiedź

Informacja:

Osoby zamieszczające wypowiedzi naruszające prawo lub prawem chronione dobra osób trzecich, mogą ponieść z tego tytułu odpowiedzialność karną lub cywilną. Upewnij się, że twoja wypowiedź nie godzi w niczyje mienie.

  • Internal paths in single or double quotes, written as "internal:node/99", for example, are replaced with the appropriate absolute URL or path. Paths to files in single or double quotes, written as "files:somefile.ext", for example, are replaced with the appropriate URL that can be used to download the file.
  • Adresy internetowe są automatycznie zamieniane w odnośniki, które można kliknąć.
  • Dozwolone znaczniki HTML: <strong> <blockquote> <code>
  • Znaki końca linii i akapitu dodawane są automatycznie.

Więcej informacji na temat formatowania

Łapirobot
Proszę odpowiedzieć
G
s
W
j
Z
D
p
b
w
v
Enter the code without spaces and pay attention to upper/lower case.