Trucs:Sauvegarde sur Zip (2)

De Lea Linux
Aller à la navigation Aller à la recherche
Nicolas Forgeard-Grignon<nicolas.forgeard-grignon@laposte.net>

Il s'agit d'un script simple sans passage de paramètres.

#!/bin/sh

# Nicolas Forgeard-Grignon
# BackupZip v1.0
# Inspiré de [../trucs/?aff_item=111 Tux Punx sur Lea]

# Declarations des variables: tichier remporaire et peripherique de stockage
bkz="/tmp/BackupZip"
zip="/mnt/zip"
# Préparation du répertoire temporaire: creation ou vidage
if [ `ls /tmp/ | grep BackupZip` ]
then
rm -fR $bkz/*
else
mkdir $bkz
fi
# Compression des Fichiers (vous pouvez ajouter ce que vous desirez et montage du zip
tar -civf $bkz/web.tar.bz2 /web/
tar -civf $bkz/root.tar.bz2 /root/
mount $zip
#Calcul de l'espace nécessaire
bkz_size=`du -sb $bkz | cut -f 1`
#Effacement des vieux fichiers jusqu'à ce qu'il y ait assez de place pour la sauvegarde courante.
for SVG in `ls $zip | sort`; do
#Calcul/MAJ de l'espace disponible attention zip 100Mo dans ce cas
zip_used=`du -sb $zip | cut -f 1`
zip_free=$((100000000-$zip_used-$bkz_size))
if [ $zip_free -le 0 ] ; then
rm -fr $zip/$SVG
fi
done
#Création du répertoire sur le zip et copie des fichiers
date=`date +%Y%m%d`
mkdir -p --mode=0744 $zip/$date
cp -f $bkz/* $zip/$date
#Nettoyage et démontage du lecteur
rm -fR /tmp/BackupZip
umount $zip

N'oubliez pas de rendre votre script exécutable:

chmod 755 nom_du_script

Autres informations

Voila, votre sript est terminé, vous pouvez le lancer avec ./nom_du_script, ou mieux (c'est tout de même le but recherché) [../admin/automate.php3 l'intégrer à votre cron].

J'envisage de d'améliorer ce sript en permettant de passer en paraméter un nombre illimité de fichiers à sauvegarder.