Koozali.org: home of the SME Server

Bash script

Offline filloweb

  • *****
  • 166
  • +0/-0
Bash script
« on: May 06, 2009, 05:51:21 PM »
Ciao a tutti.

Anche se non e' molto inerente al forum spero mi aiuterete.

Devo fare dei backup a rotazione su disco USB per SME.

Da script vorrei fare un check del device per vedere se e' stato collegato quello giusto.
Con e2label ho dato la label al disco con il giorno.
Se il disco e' giusto lo script non mi crea problemi ma col disco sbagliato vorrei una mail dove mi dice che c'e' attaccato il disco del " giovedi" ad esempio e mi dice di cambiarlo con quello del Mercoledi.

Eccovi cio' che ho scritto:

Code: [Select]
#!/bin/sh
#Device check

RIGHT_BACKUP_SUPPORT=`date +%A`
USB_DISK_DEVICE=`/sbin/blkid | grep "${RIGHT_BACKUP_SUPPORT}" |cut -d: -f1`
USB_DISK_LABEL=`/sbin/e2label "${USB_DISK_DEVICE}"`

if
    [ "${USB_DISK_LABEL}" = "${RIGHT_BACKUP_SUPPORT}" ];
then
echo > /dev/null
else
cat /root/Desktop/corpodelmessaggio | mutt -a device_check.sh -s “Viterie Emiliane - Cambiare il disco di backup !!!” fillo@b.c
fi

Grazie
filloweb

Offline Stefano

  • *
  • 10,894
  • +3/-0
Re: Bash script
« Reply #1 on: May 06, 2009, 10:05:24 PM »

Eccovi cio' che ho scritto:

Code: [Select]
#!/bin/sh
#Device check

RIGHT_BACKUP_SUPPORT=`date +%A`
USB_DISK_DEVICE=`/sbin/blkid | grep "${RIGHT_BACKUP_SUPPORT}" |cut -d: -f1`
USB_DISK_LABEL=`/sbin/e2label "${USB_DISK_DEVICE}"`

if
    [ "${USB_DISK_LABEL}" = "${RIGHT_BACKUP_SUPPORT}" ];
then
   echo > /dev/null
else
   cat /root/Desktop/corpodelmessaggio | mutt -a device_check.sh -s “Viterie Emiliane - Cambiare il disco di backup !!!” fillo@b.c
fi

Grazie
filloweb

cosa contiene /root/Desktop/corpodelmessaggio? (DESKTOP????)
cos'è quel sh che alleghi al messaggio?

io farei una cosa del tipo (pseucodice)

se è ok {
non fare nulla
}
altrimenti {
echo "Il disco inserito è errato, ha etichetta ${USB_DISK_LABEL}" > /tmp/message
echo "inserire il disco con etichetta ${RIGHT_BACKUP_SUPPORT}" >> /tmp/message
mail -s "Viterie Emiliane - Cambiare il disco di backup !!!” fillo@b.c < /tmpmessage
rm /tmp/message
}

(che poi tanto pseudocodice non è.. :wink: )

Ciao
Stefano

edit: sistemato quoting alla cinofallica
« Last Edit: May 06, 2009, 10:07:19 PM by Stefano a.k.a. nenonano »

Offline Incognito

  • *****
  • 195
  • +0/-0
  • Linux User
Re: Bash script
« Reply #2 on: May 07, 2009, 08:25:55 PM »
Solo una domanda, assodato che normalmente non si fa backup durante l'orario ma di sera notte, se ricevi la mail torni al lavoro per cambiare il disco?

Non sarebbe più semplice/comodo avere delle cartelle separate con i giorni della settimana su un unico disco? Io lo faccio così e non devo ricordarmi di cambiare niente, solo la mattina appena arrivo controllo i backup.
#Linux User
:0:
* ^X-Spam: YES
/dev/null

Offline filloweb

  • *****
  • 166
  • +0/-0
Re: Bash script
« Reply #3 on: May 08, 2009, 11:57:18 AM »
Ciao a tutti.

Premetto che sto facendo dei test. Quindi l'orario, corpo del messaggio, attachment, percorsi e quant'altro non e' influente all corretto funzionamento dello script e' solo per controllo...

Per quanto riguarda questo script, inoltre, lo voglio schedulare dalla mattina fino alla sera una volta all'ora o anche meno, in modo da rompere il cazzo all'incaricato delle copie finche' non sostituisce l'unita' di copie.

Siccome i dischi USB fanno gola a tanti e a stare accesi tutto il giorno alla gfine si scassano, ho 5 dischi, con label uno per giorno, cosi da essere sicuro che ho una settimana di pregresso in caso di problemi. Se faccio 5 giorni di backup sullo stesso disco e mi si scassa ?!?! I soldi per 5 dischi valgono la tranquillita' e la sicurezza.

Cosa ne dite delle script ?!?!
Penso di sostituire l'invio mail con sendmail che permette di impostare anche il mittente.

filloweb.

Code: [Select]
#!/bin/sh
#Device check

RIGHT_BACKUP_SUPPORT=`date +%A`
USB_DISK_DEVICE=`/sbin/blkid | grep "${RIGHT_BACKUP_SUPPORT}"  1> /dev/null 2> /dev/null |cut -d: -f1`
USB_DISK_LABEL=`/sbin/e2label "${USB_DISK_DEVICE}" 1> /dev/null 2> /dev/null`

if
    [ "${USB_DISK_LABEL}" = "${RIGHT_BACKUP_SUPPORT}" ];
then
   echo > /dev/null
else
   cat /root/Desktop/corpodelmessaggio | mutt -a /etc/hosts -s “Viterie Emiliane - Cambiare il disco di backup !!!” fillo@b.c
fi


Offline Stefano

  • *
  • 10,894
  • +3/-0
Re: Bash script
« Reply #4 on: May 08, 2009, 12:18:46 PM »
Premetto che sto facendo dei test. Quindi l'orario, corpo del messaggio, attachment, percorsi e quant'altro non e' influente all corretto funzionamento dello script e' solo per controllo...

ok

Quote
Per quanto riguarda questo script, inoltre, lo voglio schedulare dalla mattina fino alla sera una volta all'ora o anche meno, in modo da rompere il cazzo all'incaricato delle copie finche' non sostituisce l'unita' di copie.

ok

Quote
Siccome i dischi USB fanno gola a tanti e a stare accesi tutto il giorno alla gfine si scassano, ho 5 dischi, con label uno per giorno, cosi da essere sicuro che ho una settimana di pregresso in caso di problemi. Se faccio 5 giorni di backup sullo stesso disco e mi si scassa ?!?! I soldi per 5 dischi valgono la tranquillita' e la sicurezza.

dissento, su tutta la linea..

1) l'usb non è, checchè se ne dica, plug 'n play.. e la possibilità di corruzione dei dati o di backup nel mount point invece che sul disco sono reali
2) se vuoi la sicurezza e la tranquillità il backup non lo fai su dischi usb.. lo fai su nastri o su blue-ray, cioè su supporti che non abbiano parti in movimento e che se cadono/sbattono non soffrono.. se hai bisogno di un backup "rapido" dal quale recuperare i dati al volo (il classico file eliminato dall'utonto) allora usi backuppc o altro.. per il backup "di sicurezza"  (restore in caso di cataclismi) usi il nastro.. non so le tue esigenze di spazio, ma trovi su ebay unità DLT/LTO a prezzi umani

Quote
Cosa ne dite delle script ?!?!
Penso di sostituire l'invio mail con sendmail che permette di impostare anche il mittente.

a me pare identico all'originale.. i suggerimenti li hai già avuti..

Ciao
Stefano

Offline Incognito

  • *****
  • 195
  • +0/-0
  • Linux User
Re: Bash script
« Reply #5 on: May 08, 2009, 03:26:24 PM »
ok

ok

dissento, su tutta la linea..

1) l'usb non è, checchè se ne dica, plug 'n play.. e la possibilità di corruzione dei dati o di backup nel mount point invece che sul disco sono reali
2) se vuoi la sicurezza e la tranquillità il backup non lo fai su dischi usb.. lo fai su nastri o su blue-ray, cioè su supporti che non abbiano parti in movimento e che se cadono/sbattono non soffrono.. se hai bisogno di un backup "rapido" dal quale recuperare i dati al volo (il classico file eliminato dall'utonto) allora usi backuppc o altro.. per il backup "di sicurezza"  (restore in caso di cataclismi) usi il nastro.. non so le tue esigenze di spazio, ma trovi su ebay unità DLT/LTO a prezzi umani

a me pare identico all'originale.. i suggerimenti li hai già avuti..

Ciao
Stefano

Quoto in toto, senza contare che puoi farli diventare 5 nas (un box costa meno di 20 euro) e se sono sufficientemente grandi hai 5 copie di backup; si rompono 5 dischi insieme? O sei sfigato o hai preso dei dischi al mercato!
#Linux User
:0:
* ^X-Spam: YES
/dev/null