Pagina 1 di 1

Fondamenti di shell scripting [RISOLTO]

Inviato: mer 28 feb 2007, 11:50
da Burroughs
Scusate la domanda un po' insolita: volevo rendere più sicura la procedura di backup che implemento ogni giorno sul mio serverino Slack.
Vi spiego la situazione: giorno dopo giorno viene generato un tarball contenente la copia compressa di diverse directory.
Il tarball include al suo interno, tramite la variabile date, l'indicazione del giorno preciso della settimana in cui è stato effettuato il backup, qualcosa tipo:

Codice: Seleziona tutto

bck-2007-02-23.tar.bz2
Quello che mi interesserebbe realizzare sarebbe uno script che, confrontando la data del tarball con quella di sistema, in caso di discrepanza riavviasse la procedura di backup.
Per essere più semplici: se il 23 febbraio il PC è stato spento e lo si è riacceso il giorno successivo, 24 febbraio, lo script dovrebbe rilevare l'incongruenza ed avviare in automatico il backup.
Si tratta di scrivere due o tre righe di codice...
Qualcuno è disponibile ad aiutarmi???

Burroughs.

Inviato: mer 28 feb 2007, 13:02
da masalapianta
non ho capito che intendi con discrepanza e che c'entra spegnere e riaccendere una macchina con il backup

Inviato: mer 28 feb 2007, 13:15
da cymon
Come parte lo script? E' schedulato in crontab?

Inviato: mer 28 feb 2007, 17:29
da Burroughs
masalapianta ha scritto:non ho capito che intendi con discrepanza e che c'entra spegnere e riaccendere una macchina con il backup
Pensavo di essere stato sufficientemente chiaro, chiedo venia.
Allora, lo script è schedulato tramite cron (e con questo rispondo anche a cymon) per eseguirsi tutti i giorni ad una determinata ora.
Se (ipotesi tutt'altro che irrealistica da queste parti) dovesse mancare la luce proprio nel momento in cui il cronjob dev'essere eseguito, voglio avere una soluzione che, analizzando il file di backup generato (di cui sopra) confronti la data in cui è stato creato con l'orologio di sistema.
Se il file di backup è stato creato il giorno prima (o n giorni prima) ecco che interviene lo script che sto cercando di realizzare, script che, come ovvio, incorporerei all'interno di rc.local.
That's all.

Burroughs.

Inviato: mer 28 feb 2007, 21:03
da albatros
Ti converrebbe creare un segnale di operazione conclusa, perché se la corrente dovesse saltare durante il backup avresti un archivio incompleto, ma dal semplice confronto della data non ti accorgeresti di nulla...
es. un "tar <comandi tar> && touch backup-ok" o una mail generata in automatico che tutto è andato liscio...

Scusa se ti dò pochi elementi utili, ma fino al prossimo fine settimana avrò poco tempo, inoltre qui ci sono persone molto più brave di me... :)

Inviato: mer 28 feb 2007, 23:38
da masalapianta
basta usare anacron al posto di cron

Inviato: ven 2 mar 2007, 23:17
da Burroughs
masalapianta ha scritto:basta usare anacron al posto di cron
Sì, in effetti anacron era proprio quello che cercavo.
Ringrazio comunque anche albatros per la preziosa osservazione.

Burroughs.