Envoyer un répertoire à un serveur backup via ftp

Bonjour,

J’utilise actuellement un script de backup trouvé sur internet pour envoyer un répertoire sur un serveur de backup. Le problème étant que les backups ne sont pas correctement envoyées et les backups locales ne sont pas supprimées. Sauriez-vous d’où pourrait venir le bug svp ? Voici mon script:

[code]#!/bin/bash

Auteur : Nono @ blog.m0le.net

Date : 06/02/2012

Version : 1.0

MaJ : 16/02/2012

#############

Variables

#############

Une date est généré, pour avoir la date de début de processus de backup

date_start=date +'%d/%m/%Y @ %H:%M:%S';

Choix du format de la date utilisé pour les dossiers

format_date=’%d%m%Y’

Variable de date du jour, en fonction du format choisi

date=date +${format_date};

Le nombre de jour que vous souhaitez archiver

keepday=“6”;

Calcul du nombre de jour, remontant à plus de “$keepday” jour(s)

keepdate=date --date "-${keepday} days" +${format_date};

Le répertoire de création du backup journalier

backup_dir=’/home/archives/’${date};

Le chemin du rapport (celui-ci sera gardé, et envoyé par mail)

rapport=’/home/archives/rapport.log’;

Le mot de passe iTeush de la base de donnée

sql_password=‘remplacé’;

L’ip ou le hostname de votre serveur FTP

ftp_host=‘remplacé’;

L’utilisateur de votre serveur FTP

ftp_user=‘remplacé’;

Le mot de passe de votre serveur FTP

ftp_pass=‘remplacé’;

L’adresse mail qui recevra le rapport

mail=‘remplacé@outlook.com’;

##########

Script

##########

Création du repertoire de backup + Initialisation du rapport

mkdir -p ${backup_dir};
echo 'Rapport du '${date_start} > {rapport};
echo " " >> ${rapport};

Les répertoires + exclusions des dossiers à archiver …

(à modifier à la main … On peut pas tout avoir dans la vie)

Syntaxe :

tar jcf le_nom_de_larchive.tar.bz2 --exclude=’/le/repertoire/a/exclure’ --exclude=’/eventuellement/le/deuxieme/repertoire/a/exclure’ /le/dossier/a/archiver/ 2>/dev/null

tar jcf ${backup_dir}/backup-${date}-home-minecraft.tar.bz2 --exclude=’*.zip’ /home/minecraft/ 2>/dev/null
tar jcf ${backup_dir}/backup-${date}-home-wordpress.tar.bz2 /home/wordpress/ 2>/dev/null
tar jcf ${backup_dir}/backup-${date}-home-ts3.tar.bz2 /home/ts3/ 2>/dev/null
tar jcf ${backup_dir}/backup-${date}-var-lib-mysql.tar.bz2 /var/lib/mysql/ 2>/dev/null
tar jcf ${backup_dir}/backup.net-${date}-etc.tar.bz2 /etc 2>/dev/null

#Création du dump de la base de donnée avec mysqldump
mysqldump -u iTeush --password=${sql_password} --all-databases | gzip -9 > ${backup_dir}/dump_${date}.sql.gz;
echo “Etat du dossier local :” >> ${rapport};
ls -lh ${backup_dir} -I rapport* >> ${rapport};
echo " " >> ${rapport};

Envoie du dossier de sauvegarde vers le FTP

echo “Etat du dossier distant :” >> ${rapport};
lftp ftp://${ftp_user}:${ftp_pass}@${ftp_host} -e “mirror -R ${backup_dir} /${date} ; ls ${date} ; quit” >> ${rapport};
echo " " >> ${rapport};

Suppresion du dossier en local

echo “Suppression du dossier local : ${backup_dir}” >> ${rapport};
rm -rf ${backup_dir};
echo " " >> ${rapport};

Suppression du dossier distant de plus de “$keepday” jour(s)

echo “Suppression du dossier distant de plus de ${keepday} jours : ${keepdate}” >> ${rapport};
echo " " >> ${rapport};

Copie de l’état des dossiers sur le FTP pour le rapport

echo “Etat du FTP :” >> ${rapport};
lftp ftp://${ftp_user}:${ftp_pass}@${ftp_host} -e “rm -rf ${keepdate} ;ls ; quit” >> ${rapport};

Une date est généré, pour avoir la date de fin de processus de backup

date_end=date +'%d/%m/%Y @ %H:%M:%S';
echo " " >> ${rapport};

#Finalisation du rapport + envoie par mail
echo 'Fini le '${date_end} >> ${rapport};[/code]

Merci d’avance :slightly_smiling:

Bonjour,
as tu des messages d’erreur lorsque tu le lances ?
Avec quel utiliateur le lances tu ? Cet utilisateur a t il les droits pour réaliser les opérations demandées ?