Ciao, mi sono avvicinato da poco alla programmazione bash, e volevo proporre la mia soluzione ad un esercizio. Volevo qualche dritta da qualcuno un po' più esperto per semplificare e migliorare il mio codice. Il testo dell'esercizio è questo:
Creare uno script bash 'backup.sh' che effettui il backup giornaliero di una directory in un file .tar.gz. Tutti i backup andranno a finire in una cartella predefinita nello script ed ogni backup avrà un nome del tipo 'backupYYMMDD'.
La sintassi dovrebbe essere la seguente:
backup.sh [-d|--date YYMMDD] [directory to backup]
La mia soluzione è questa:
codice:#!/bin/bash if [ $# -eq 3 ] || [ $1 = -h ] || [ $1 = --help ] ; then case "$1" in -h|--help) echo "Effettua il backup di una directory scelta dall'utente." echo "sintassi: `basename $0` [-d|--date YYMMDD] [directory to backup]" ;; -d|--date) if [ -d "$3" ]; then cp -R "$3" /home/peppe/Documenti/Script/backup cd /home/peppe/Documenti/Script/backup DIR= `basename $3` tar -czf "backup$2.tar.gz" `basename $DIR` else echo "$3 non e' una directory e/o non esiste." fi ;; *) echo "Errore." echo "sintassi: `basename $0` [-d|--date YYMMDD] [directory to backup]" ;; esac else echo "Inserire la data di oggi e la cartella da backuppare." echo "sintassi: `basename $0` [-d|--date YYMMDD] [directory to backup]" fi exit 0

Rispondi quotando