On Sun, 1 Jan 2006 20:03:01 +0100 Christophe Gaubert <[EMAIL PROTECTED]> wrote:
> > ------------------------------------------------- > 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 > pour dater des fichiers, j'aime bien le format YYYYMMJJ qui permet un rangement par date croissante. ce format correspond pour la date du jour à: date "+%Y%m%d" la date au même format de 10 jours avant s'obtient de cette manière: date "+%Y%m%d" -d "10 days ago" [ prompt ]$ date "+%Y%m%d"; date "+%Y%m%d" -d "10 days ago" 20060101 20051222 bye jipe
____________________________________________________ Want to buy your Pack or Services from Mandriva? Go to http://store.mandriva.com Join the Club : http://www.mandrivaclub.com ____________________________________________________
