Le Fri, 07 Jan 2011 16:22:48 +0100, Julien Gormotte a écrit : > # KEEP_DAYS : number of hourly snapshots to keep > # KEEP_DAYS : number of daily snapshots to keep > # KEEP_DAYS : number of weekly snapshots to keep > KEEP_HOURS=25 > KEEP_DAYS=8 > KEEP_WEEKS=5 > KEEP_MONTHS=13
J'aurais plutôt mis des valeurs vides puis ensuite [ -z $VARIABLE ] && (echo "using default value for VARIABLE"; VARIABLE=${VARIABLE:-DEFAULT_VARIABLE_VALUE}) ^ un printf, çà serait encore mieux > cat << EOF > cat << EOF Tu ouvres stdin comme descripteur de fichiers pour rien, printf et echo, c'est bien aussi. Et bong des fonctions qui font des exit, c'est vraiment pas bon. return 1 et ensuite tu t'occupes du code retour pour sortir du script au besoin. > for DATASET in $DATASETS > do > /sbin/zfs snapshot -r $data...@autoh`date > '+%Y%m%d_%H:%M'` > done C'est une fonction à factoriser çà. > for BASIS in HOURLY DAILY WEEKLY MONTHLY Je vois pas l'utilité de ce découpage ... mais alors pas du tout :) Tu as défini un temps de rétention des snapshots, cron te donne des heures d’exécution. Pourquoi tu découpes encore artificiellement avec un case ? Ton script doit être capable de savoir s'il est lancé pour le backup du mois ou du jour tout seul comme un grand en fonction de l'existence d'ancien type de snapshot etc. > > /sbin/zfs list -t snapshot\ > | grep AutoH\ > | grep `date -v-${KEEP_HOURS}H '+%Y%m%d_%H:%M'`\ > | awk '{print $1}'\ > | while read OLDFS; do /sbin/zfs destroy $OLDFS ;donecpde a > factoriser code à factoriser. > done > } > > case $1 in > backup) > BASIS=$2 > [ -z "$BASIS" ] && usage_backup > backup > ;; > clean) clean;; > *) > usage > ;; > esac Et tu sais si tout est Ok parce que tu gères pas exactement proprement les erreurs ... handle_num_error () { [ $1 -neq 0 ] && (echo "$2 command/function has failed with errno $1, exiting"; exit 1) } Ou un truc approchant. a +. -- Jérôme Benoit aka fraggle La Météo du Net - http://grenouille.com OpenPGP Key ID : 9FE9161D Key fingerprint : 9CA4 0249 AF57 A35B 34B3 AC15 FAA0 CB50 9FE9 161D
pgpGNDa0zTPmj.pgp
Description: PGP signature
_______________________________________________ Liste de diffusion du FRsAG http://www.frsag.org/