------------------------------------------------- Message transféré : ------------------------------------------------- Date: Sun, 1 Jan 2006 18:39:33 +0100 From: linux_forever2001 <[EMAIL PROTECTED]> To: Christophe Gaubert <[EMAIL PROTECTED]> Subject: Re: [Confirme] script
Le dimanche 1 Janvier 2006 17:29, vous avez écrit : > Le 01/01/06, linux_forever2001 <[EMAIL PROTECTED]> a écrit : > > j'ai un peu cherché sur le net, mais je ne trouve jamais ce genre de > > scripts. > > Fin de page de : > http://abs.traduc.org/abs-3.7-fr/comparison-ops.html ok, merci ! J'étais donc à peu près vrai.. (à peu près seulement) :) je vous live mons script complet qui est une sauvegarde d'une base de donnée. Cette sauvegarde est écrasé sur le serveur chaques jours, avec envoi de la sauv sur ftp (avec date), qui supprime la sauvegarde d'il y a 10 jours chaques fois, et qui copie cette sauvegarde (datés tjs) sur un serveur distant si celui est allumé :) c'est encore largement améliorable, mais cela fonctionne et c'est déjà çà :) je vous le livre si des fois quelqu'un est intéressé :) #!/bin/sh HOSTNAME=mysql; export HOSTNAME USER=root; export USER ENV=/root/.bashrc; export ENV USERNAME=root; export USERNAME INPUTRC=/etc/inputrc; export INPUTRC PWD=/root; export PWD HOME=/root; export HOME TMP=/root/tmp; export TMP LOGNAME=root; export LOGNAME ####VARIABLES:################"" #Utilisé pour la suppresion sur ftp DATEJOUR=`date +'%d'-'%m'-'%y'_'%H'-'%M'` JOUR=`date +'%d'` MOIS=`date +'%m'` ANN=`date +'%y'` CHEMIN="/var/lib/drakbackup/fichiers" #utilis pr le test du ping STATE=0 IP_LIST="192.168.0.50" ##############AJOUT POUR SUPPRESSION SUR FTP########################################### #calcul du nbre de jour dans les mois, ici on se fout de fevrier à 29 jours if [ $MOIS=01 -o $MOIS=03 -o $MOIS=05 -o $MOIS=07 -o $MOIS=08 -o $MOIS=10 -o $MOIS=12 ] then nbrejour=31 echo "mois impair a 31 jours" else nbrejour=30 echo "mois pair à 30 jours" fi #calcul de la date joursuppr=$[JOUR-10] #si $joursuppr < 0 if test $joursuppr -lt 0 #if $(( $val < 0 )) then #test pour le mois. Si le mois= janvier,alors la valeur du mois est 12 # (mois précédent) if test $MOIS=1 then moissuppr=12 newval=$[$nbrejour+$joursuppr] annee=$[$ANN-1] else moissuppr=$[$MOIS-1] newval=$[$nbrejour+$joursuppr] annee=$ANN fi else if [ $joursuppr = 0 ] then newval=$[$nbrejour-10] moissuppr=$MOIS annee=$ANN else if test $joursuppr -gt 0 then newval=$joursuppr moissuppr=$MOIS annee=$ANN fi fi fi #passe le nom du fichier dans la variable fichier fichier=`ls $CHEMIN/plan2.$newval-$moissuppr-0$annee* | cut -c30-` echo $fichier ###########################################FIN SUPPR FTP####################""" echo "La sauvegarde du ".${DATEJOUR}."commence" >> /var/log/backupsql/${DATEJOUR} mysqldump -P 3310 -u user -ppassword base > /var/lib/drakbackup/nom.sql gzip -f9 /var/lib/drakbackup/nom.sql gzip -tv /var/lib/drakbackup/nom.sql.gz >> /var/log/backupsql/${DATEJOUR} #création du fichier (vide) pour récup du nom est suppresion du ftp touch /var/lib/drakbackup/fichiers/plan2.${DATEJOUR}.sql.gz #active le mode passif pour les clients ftp modprobe ip_conntrack_ftp echo "Envoi de la sauvegarde sur ftp" >> /var/log/backupsql/${DATEJOUR} #essai pr loguage ftp -v ftpperso.free.fr>>/var/log/backupsql/${DATEJOUR}<<!! type binary cd base put /var/lib/drakbackup/base.sql.gz plan2.${DATEJOUR}.sql.gz del ${fichier} dir quit !! echo $fichier "a été supprimé du serveur ftp" echo "Fin de la sauvegarde sur ftp" >> /var/log/backupsql/${DATEJOUR} #suppression du fichier de listage rm $CHEMIN/$fichier echo "$CHEMIN/$fichier a bien supprimé" #script pour envoyer sur serveur de sauvegarde for i in `echo $IP_LIST`; do ping -c 2 $i >/dev/null 2>&1 [ $? -eq 0 ] && STATE=1 done if [ $STATE -eq 0 ]; then #pas de ping echo "La sauvegarde n'a pas ete enregistre sur le serveur" >> /var/log/backupsql/${DATEJOUR} else mount -t smbfs -o username=xxx,password=xxx //192.168.0.50/sauvegarde /mnt/sauvegarde cp -v /var/lib/drakbackup/base.sql.gz /mnt/sauvegarde/serveursql/base-$DATEJOUR.sql.gz >> /var/log/backupsql/${DATEJOUR} umount -l /mnt/sauvegarde echo 'La sauvegarde a bien t envoye sur le serveur de sauv' >> /var/log/backupsql/${DATEJOUR} echo 'sauv OK' fi -- Christophe Gaubert http://perso.wanadoo.fr/christophe.gaubert Mail posté depuis un système libre GNU/Linux
____________________________________________________ Want to buy your Pack or Services from Mandriva? Go to http://store.mandriva.com Join the Club : http://www.mandrivaclub.com ____________________________________________________
