L'ho anche commentato molto in modo che sia il più chiaro possibile. Questo però è solo la prima bozza, quindi, se potete, sareste così gentili da aiutarmi a migliorarlo??
Grazie anticipatamente.
Codice: Seleziona tutto
#!/bin/bash
# Questa frase di benvenuto chiede se si vuole creare o recuperare un archivio.
echo -n "Vuoi creare o recuperare un archivio? (c/r) "
# Alla risposta, c o r, viene assegnata la variabile cr.
read cr
# Se questa variabile, quindi quello che hai risposto, corrisponde a c...
if [ $cr = c ]
then
# Si attiva questa parte dello script.
# Innanzitutto qusta frase avverte che eliminerà un eventuale file backup.tgz
# presente in / in modo da far spazio al futuro backup.
echo "Adesso verrà eliminato un eventuale file backup.tgz che si trova in / per poterlo sostituire con quello del backup"
# Quindi ci spostiamo in /
cd /
# ed eliminamo il presunto file.
sudo rm -rf /backup.tgz
# Quest'altra frase ci dice che il processo sta per iniziare.
echo "Adesso inizierà il processo di backup!"
# Ed ecco il vero comando che eseguirà il backup.
sudo tar cvpzf backup.tgz --exclude=/proc --exclude=t+found --exclude /var/spool --exclude /var/log --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /
# Al termine, veniamio avvertiti che il backup è finito e non dobbiamo preoccuparci
# se escono messaggi come tar: uscita per errore ritardata dall'errore precedente.
echo "Il processo di backup è finito, puoi anche evitare di preoccuparti per messaggi di errori come: tar: uscita per errore ritardata dall'errore precedente, considerali semplicemente dei warning."
# Adesso, per comodità, questa frase ci dice che il file contenente
# il backup verrà trasferito sulla Scriviania.
echo "Adesso il file di backup varrà spostato sulla Scrivania"
# Ed ecco che ciò viene fatto.
sudo mv /backup.tgz /home/nicola/Scrivania/
# Adesso veramente è tutto finito, e questa frase lo dimostra.
echo "Tutto è finito, il file contenente il backup si trova sulla Scrivania"
# Ora non resta che chiudere lo script
exit 0
# Se invece di aver scritto all'inizio c, avessimo scritto r...
elif [ $cr = r ]
then
# ... questa frase ci chiede dove si trova il file che contiene il backup,
echo -n "Scrivi qui il percorso del file contenente il backup "
# e a quello che scriviamo viene assegnata la variabile per (sta per percorso).
read per
# Ora veniamo avvertiti che sta iniziando il recupero,
echo "Adesso inizierà il processo di recupero!"
# ed ecco che inizia.
sudo tar xvpfz $per -C /
# Queste due frasi ci dicono che il recupero è completato e che non
# dobbiamo preoccuparci se visualizziamo messaggi di errore come,
# tar: uscita per errore ritardata dall'errore precedente.
echo "Tutto è finito, Ubuntu è tornato come prima!!"
echo "Aspetta, non allarmarti! Se visualizzi messaggi di errore come, tar: uscita per errore ritardata dall'errore precedente, considerali come dei warning, cioè fai finta che non esistono."
# Non resta che chiudere lo script.
exit 0
# Lo script potrebbe finire qui, ma poniamo il caso che invece di c o r,
# avessimo scritto qualcos'altro, cosa sarebbe successo? Che lo script si
# sarebbe chiuso senza dirci niente, ed ecco che entra in gioco else.
else
# Questa frase ci dice cosa abbiamo scritto e ci avverte che se vogliamo
# ottenere qualche risultato, dobbiamo rispondere con c o r.
echo "Hai risposto con $cr!! Devi rispondere con c o r, a seconda se vuoi creare o recuperare un backup!!"
# Lo script, quindi si chiude.
exit 0
# Ora non ci resta che mettere fi per chiudere if, elif e else.
fi
# E lo script è veramente finito!
exit 0
