Sauvegarde FTP sur Backup OVH

Vos questions sur la sécurité et les backups
Yves06
Messages : 2
Enregistré le : 23 Nov 2016, 08:31

Sauvegarde FTP sur Backup OVH

Message non lupar Yves06 » 23 Nov 2016, 09:37

Bonjour,

Tout d'abord, grand merci pour ces Tutos très explicites, chapeau !!

J'ai intallé un serveur sous debian8 avec webmin sans aucun soucis,
maintenant je voudrais configurer un backup sur le ftp fourni par ovh
Mettant pris la tete avec filesystem backup de webmin, j'ai suivi le tuto https://www.how-to.ovh/viewtopic.php?f=9&t=47.
Lors du test pour voir si tout fonctionnait, ça clash.

Code : Tout sélectionner

root@nsxxxxx1:~# sh /home/sauveftp.sh
FTP backup
mercredi 23 novembre 2016, 09:14:42 (UTC+0100)
1
4,0K total
/home/sauveftp.sh: ligne 31: [[: 4,0K : valeur trop grande pour la base (le symbole erroné est "0K")
2
4,0K total
/home/sauveftp.sh: ligne 31: [[: 4,0K : valeur trop grande pour la base (le symbole erroné est "0K")
3
4,0K total
/home/sauveftp.sh: ligne 31: [[: 4,0K : valeur trop grande pour la base (le symbole erroné est "0K")
4
4,0K total
/home/sauveftp.sh: ligne 31: [[: 4,0K : valeur trop grande pour la base (le symbole erroné est "0K")
5
4,0K total
/home/sauveftp.sh: ligne 31: [[: 4,0K : valeur trop grande pour la base (le symbole erroné est "0K")
/home/sauveftp.sh: ligne 43: ((: i= : erreur de syntaxe : opérande attendue (le symbole erroné est "=")
rm: L'accès a échoué : 553 Prohibited file name: .ftpquota
Total : 1 répertoire, 0 fichiers, 0 liens symboliques
Supprimé : 0 répertoires, 1 fichier, 0 liens symboliques
1 erreur détectée
/home/sauveftp.sh: ligne 62: mail : commande introuvable

Le serveur de backup sur ovh est activé, et le fichier sauveftp.sh est correctement renseigné et j'ai installé lftp
Là je bute, si qq'un a la soluce je suis preneur.
Merci d'avance,
Bonne journée
Yves

Buddy
Messages : 14
Enregistré le : 18 Sep 2014, 11:27

Re: Sauvegarde FTP sur Backup OVH

Message non lupar Buddy » 23 Nov 2016, 21:32

Bonjour,

en fait ce script ne servait qu'a sauvegarde de très gros fichiers donc il ne marchait que pour les gros fichiers.

Voici un "correctif" (NB : je n'ai pas eu le temps de le tester ce soir, n'hésite pas à revenir vers moi si tu as toujours un problème avec le nouveau script et donner le message d'erreur).

Code : Tout sélectionner

#!/bin/bash
#
# Synchro sur le backup FTP OVH
# Taille standard 100 Go
# Age max des fichiers envoyes 5 jours
# merci a Buddy pour son aide

# dossier du serveur que a sauvegarder sur le FTP
BACKUP_DIR="/home/sauvegardes/"
FTP_SERVER="ftpback-rbxxxx.ovh.net"
FTP_USER="nsxxxx.ip-xxx-xxx-xxx.eu"
FTP_PASS="le_pass_ftp"
MAX_AGE=5; # age en jours (x*24 H) du plus vieux fichier "sauvegardable"
FTP_SIZE_GO=99; # espace en Go disponible sur le backup FTP
EMAIL="votre_email"

################### Conversion des Go en Kilooctets ###########################
FTP_SIZE=$(($FTP_SIZE_GO*1000000 - 1000))
echo $FTP_SIZE
###########################################################################

##################################################################
echo "FTP backup"
date

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

cd $BACKUP_DIR
# boucle qui calcule la taille des sauvegardes qui ont moins de x*24h
# jusqu a MAX_AGE * 24h. Quand on depasse la taille max de $FTP_SIZE on ignore.
for i in `seq 1 $MAX_AGE`
do
echo $i
TOTAL_SIZE=`find -type f -mtime -$i | xargs du -sB K |grep total |cut -d 'K' -f1 `
echo $TOTAL_SIZE
if [[ $TOTAL_SIZE -lt $FTP_SIZE ]]
then
DAYS_MAX=$i;
fi
done
# permet de dire au FTP de synchro uniquement les fichiers qui ont DAYS_MAX*24H comme age
newer_than=`echo "--newer-than=now-"$DAYS_MAX"days"`

lftp ftp://$FTP_USER:$FTP_PASS@$FTP_SERVER -e "set ftp:ssl-allow no; ls; quit" >ls.txt

## DELETE FILES OLDER THAN $DAYS_MAX
# on parcourt les jours entre le dernier jour pris pour le backup et le dernier jour max +1 parametre.
for ((i=$DAYS_MAX;i<=$MAX_AGE+1;i++))
do
# calcul de la date + affichage M_D
date_fichier=`date +%m_%d -d "-$i days"`
# on verifie si des fichiers a supprimer existent.
nb_fichier_suppr=`cat ls.txt |grep $date_fichier  |wc -l`;
# si oui, on supprime.
if [[ $nb_fichier_suppr -gt 0 ]] 
then
lftp ftp://$FTP_USER:$FTP_PASS@$FTP_SERVER -e "set ftp:ssl-allow no; mrm *$date_fichier* ; quit"
fi
done
# on supprime le fichier ls cree ci-dessus
rm ls.txt

# on synchro le serveur avec le FTP distant grace a -R.
# --delete-first supprime les fichiers qui existent sur le FTP mais plus sur le serveur.
lftp ftp://$FTP_USER:$FTP_PASS@$FTP_SERVER -e "set ftp:ssl-allow no; mirror --delete-first -R  $BACKUPDIR ./ $newer_than ; quit"
# envoi vers email
lftp ftp://$FTP_USER:$FTP_PASS@$FTP_SERVER -e "set ftp:ssl-allow no; ls *.lzo -s; du -hs; quit" | mail -s 'Backup FTP du nsxxxx' $EMAIL


Buddy
Messages : 14
Enregistré le : 18 Sep 2014, 11:27

Re: Sauvegarde FTP sur Backup OVH

Message non lupar Buddy » 23 Nov 2016, 21:38

Ou solution numéro 2

Code : Tout sélectionner

#!/bin/bash
#
# Synchro sur le backup FTP OVH
# Taille standard 100 Go
# Age max des fichiers envoyes 5 jours
# merci a Buddy pour son aide

# dossier du serveur que a sauvegarder sur le FTP
BACKUP_DIR="/home/sauvegardes/"
FTP_SERVER="ftpback-rbxxxx.ovh.net"
FTP_USER="nsxxxx.ip-xxx-xxx-xxx.eu"
FTP_PASS="le_pass_ftp"
MAX_AGE=5; # age en jours (x*24 H) du plus vieux fichier "sauvegardable"
FTP_SIZE=99; # espace en Go disponible sur le backup FTP
EMAIL="votre_email"

##################################################################
echo "FTP backup"
date

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

cd $BACKUP_DIR
# boucle qui calcule la taille des sauvegardes qui ont moins de x*24h
# jusqu a MAX_AGE * 24h. Quand on depasse la taille max de $FTP_SIZE on ignore.
for i in `seq 1 $MAX_AGE`
do
echo $i
TOTAL_SIZE=`find -type f -mtime -$i | xargs du -csB G |grep total |cut -d 'G' -f1 `
echo $TOTAL_SIZE
if [[ $TOTAL_SIZE -lt $FTP_SIZE ]]
then
DAYS_MAX=$i;
fi
done
# permet de dire au FTP de synchro uniquement les fichiers qui ont DAYS_MAX*24H comme age
newer_than=`echo "--newer-than=now-"$DAYS_MAX"days"`

lftp ftp://$FTP_USER:$FTP_PASS@$FTP_SERVER -e "set ftp:ssl-allow no; ls; quit" >ls.txt

## DELETE FILES OLDER THAN $DAYS_MAX
# on parcourt les jours entre le dernier jour pris pour le backup et le dernier jour max +1 parametre.
for ((i=$DAYS_MAX;i<=$MAX_AGE+1;i++))
do
# calcul de la date + affichage M_D
date_fichier=`date +%m_%d -d "-$i days"`
# on verifie si des fichiers a supprimer existent.
nb_fichier_suppr=`cat ls.txt |grep $date_fichier  |wc -l`;
# si oui, on supprime.
if [[ $nb_fichier_suppr -gt 0 ]] 
then
lftp ftp://$FTP_USER:$FTP_PASS@$FTP_SERVER -e "set ftp:ssl-allow no; mrm *$date_fichier* ; quit"
fi
done
# on supprime le fichier ls cree ci-dessus
rm ls.txt

# on synchro le serveur avec le FTP distant grace a -R.
# --delete-first supprime les fichiers qui existent sur le FTP mais plus sur le serveur.
lftp ftp://$FTP_USER:$FTP_PASS@$FTP_SERVER -e "set ftp:ssl-allow no; mirror --delete-first -R  $BACKUPDIR ./ $newer_than ; quit"
# envoi vers email
lftp ftp://$FTP_USER:$FTP_PASS@$FTP_SERVER -e "set ftp:ssl-allow no; ls *.lzo -s; du -hs; quit" | mail -s 'Backup FTP du nsxxxx' $EMAIL

Yves06
Messages : 2
Enregistré le : 23 Nov 2016, 08:31

Re: Sauvegarde FTP sur Backup OVH

Message non lupar Yves06 » 25 Nov 2016, 18:46

Bonsoir,
Merci à toi, je teste tous ça et je te tiens au courant

Yves


Retourner vers « Aide sur la sécurité et les sauvegardes »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité