Script envoyer dossier via ftp à un serveur backup
iTeush
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'utilise actuellement un script de backup depuis un serveur soyoustart 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:
Merci d'avance :)
J'utilise actuellement un script de backup depuis un serveur soyoustart 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:
#!/bin/bash # Auteur : Nono @ xxxx.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};
Merci d'avance :)
A voir également:
- Script envoyer dossier via ftp à un serveur backup
- Dossier appdata - Guide
- Cobian backup - Télécharger - Sauvegarde
- Logiciel backup gratuit - Guide
- Script vidéo youtube - Guide
- Changer serveur dns - Guide
1 réponse
Salut,
lftp [ftp://]${ftp_user}:${ftp_pass}@${ftp_host}En enlevant les crochets autour de
ftp://sûrement que ça changerait beaucoup de choses ;-\