« MoMy »
Utente Èlite
- Messaggi
- 1,605
- Reazioni
- 887
- Punteggio
- 107
Bene. :ok:
Se via terminale lanci il comando
Ti chiede la pass?
Personalmente qui (read -p "Procedo (s/n)? " var2) aggiungerei un elif (anche un case esac tornerebbe utile) perché tu dai la possibilità di scegliere tra s/n, quindi se premo s, ok, ma se premo n oppure un tasto qualsiasi?
Per esempio:
Questa soluzione è ''figherrima'' :asd:
I tasti selezione sono 1, 2, 3 oppure exit. :P
Spè perché le cose mi vengono in mente a rate o in seconda lettura...
Lo dimentico spesso -.-' , creare una variabile quando già esiste, non serve.
C' era un' altra cosa, ma l' ho dimenticata mentre scrivevo. :|
Al solito, poi fai come vuoi... ^^
EDIT: M'è venuta in mente...
Le varibili $dest e $prov se le dichiari all' inizio dello script, lo fai una volta per tutte e manterranno il valore sino a quando termina lo script o il valore viene cambiato.
Certo che bla bla nell' esempio è molto professionale. :asd:
Edit: Ultima cosa... giuro. :P
Se alla variabile prov imposti un percorso con tanto di slah (/), non serve aggiungela quando la richiami:
tar zcvf $dest/$backupfile --listed-incremental=$dest/$log /$prov/ (nel valore di /$prov/ c'è una barra di troppo), altrimenti esce una cosa tipo //home/<utente>/Immagini/
Se via terminale lanci il comando
Codice:
zenity --file-selection --directory --title="Backup: Cartella Destinazione"
Personalmente qui (read -p "Procedo (s/n)? " var2) aggiungerei un elif (anche un case esac tornerebbe utile) perché tu dai la possibilità di scegliere tra s/n, quindi se premo s, ok, ma se premo n oppure un tasto qualsiasi?
Per esempio:
Codice:
read -p "BACKUP automatico (S/n)? " var1
echo ""
# Se premo s oppure invio... Backup automatico, else (premendo n o qualsiasi altro tasto) backup manuale
if [[ $var1 = @(s|"") ]]; then
echo Si è scelto BACKUP automatico!
dest=/home/$USER/BACKUP
backup=backup
prov=/home/$USER/Immagini
else
clear && echo "############# IMMISSIONE DATI ###############"
echo ""
echo Si è scelto BACKUP Manuale
codice codice
bla bla
bla bla
# Anche qui stessa cosa, se premi invio o s... continua, else interrompi e avvisa che lo fai.
read -p "Procedo (S/n)? " var2
if [[ $var2 = @(s|"") ]]; then
backupfile=$backup$(date +%d-%m-%Y).tar.gz
log=$backup$(date +%d-%m-%Y).idx
if [ ! -d $dest ]; then
mkdir $dest
fi
if [ -e $dest/$backupfile ]; then
echo ""
echo "c'è già un backup, non più di un backup al giorno."
else
tar zcvf $dest/$backupfile --listed-incremental=$dest/$log /$prov/
fi
echo ""
read -p "FINE! premi un tasto.."
# Aggiunto un else che avvisa...
else
echo Esecuzione interrotta.
read -p "FINE! premi un tasto.."
exit 0
fi
exit 0
Questa soluzione è ''figherrima'' :asd:
Codice:
#!/bin/bash
select i in a b c exit
do
case $i in
a) echo "Backup Automatico";;
b) echo "Backup manuale";;
c) echo "Backup selettivo";;
exit) exit;;
esac
break
done
exit 0
Spè perché le cose mi vengono in mente a rate o in seconda lettura...
Codice:
return_code_3=$?
if [[ $return_code_3 -eq 1 ]]; then
/* la variabile return_code_3 in realtà non serve, l' esempio sotto funziona sempre e comunque. */
if [[ $? -eq 1 ]]; then
C' era un' altra cosa, ma l' ho dimenticata mentre scrivevo. :|
Al solito, poi fai come vuoi... ^^
EDIT: M'è venuta in mente...
Le varibili $dest e $prov se le dichiari all' inizio dello script, lo fai una volta per tutte e manterranno il valore sino a quando termina lo script o il valore viene cambiato.
Certo che bla bla nell' esempio è molto professionale. :asd:
Edit: Ultima cosa... giuro. :P
Se alla variabile prov imposti un percorso con tanto di slah (/), non serve aggiungela quando la richiami:
tar zcvf $dest/$backupfile --listed-incremental=$dest/$log /$prov/ (nel valore di /$prov/ c'è una barra di troppo), altrimenti esce una cosa tipo //home/<utente>/Immagini/
Ultima modifica: