Script de sauvegarde avec lftp

Exemple de sauvegarde DokuWiki hébergé chez OVH

#!/bin/sh
 
set -x 
 
############################################################
#
# Le répertoire doit être de type :
# --------------------------------
# .
# ├── iadmin.fr
#    ├── data
#    └── tmp
#    |__ log
#
#
#
#
############################################################
 
################ DEFINITION DES VARIABLES ###################
# PASSWORD du compte FTP OVH
PASSWORD_FTP='XXXXXXXX'
 
# Repertoire www OVH
#-------------------
RootDirectoryOVH='www'
 
# Repertoires à sauvegarder
#--------------------------
Directory0='data/pages'
Directory1='data/meta'
Directory2='data/media'
Directory3='data/attic'
Directory4='conf'
 
Directory="data/pages data/meta data/media data/attic conf"
 
# Repertoires de destination
#---------------------------
DirectoryProg='/media/nas/iadmin.fr'
#DirectoryProg='/volume1/julnas/iadmin.fr'
 
#DirectoryProg=`/bin/pwd`
DirectorySh="${DirectoryProg}/sh"
DirectoryData="${DirectoryProg}/data"
DirectoryTmp="${DirectoryProg}/tmp"
DirectoryLog="${DirectoryProg}/log"
 
# Prefixe du fichier de sauvegarde
PrefixeFic=$(/usr/bin/basename `/bin/pwd`)
 
# Fichier de log
Ficlog=`/bin/date "+${DirectoryLog}/${PrefixeFic}_%d_%m_%Y.log"`
 
 
################## DEFINITION DES FONCTIONS ###################
F_tarbz2() {
	FicDest=`/bin/date "+Sav_${PrefixeFic}_%d_%m_%Y.tar.bz2"`
	/bin/tar cz ${DirectoryTmp} -f ${DirectoryData}/${FicDest}
	/bin/rm -r ${DirectoryTmp}/*
}
 
F_lftp() {
	for i in $Directory
	do
#	echo "Action sur ${i}"
#		/opt/bin/lftp iadmin:${PASSWORD_FTP}@ftp.iadmin.fr -e "mirror ${RootDirectoryOVH}/${i} ${DirectoryTmp}/${i} --parallel=5 ; quit" >> ${Ficlog}
                lftp iadmin:${PASSWORD_FTP}@ftp.iadmin.fr -e "mirror ${RootDirectoryOVH}/${i} ${DirectoryTmp}/${i} --parallel=5 ; quit" >> ${Ficlog}
 
	done
}
 
 
F_mail() {
if [ $1 == "OK" ]
then
	/usr/syno/bin/synomail SavIadminOK
else
	/usr/syno/bin/synomail SavIadminERROR
fi
}
 
 
F_verify() {
	if [ ! -d ${DirectoryProg}/tmp ]
	then
		/bin/echo "Le repertoire ${DirectoryProg}/tmp est inexistant"
		/bin/echo "Le repertoire ${DirectoryProg}/tmp est inexistant" > ${Ficlog}
		return 1
	fi
 
	if [ ! -d ${DirectoryProg}/data ]
	then
		/bin/echo "Le repertoire ${DirectoryProg}/data est inexistant"
		/bin/echo "Le repertoire ${DirectoryProg}/data est inexistant" >> ${Ficlog}
		return 1
	fi
        if [ ! -d ${DirectoryProg}/log ]                                                                                                                     
        then                                                                                                                                 
                /bin/echo "Le repertoire ${DirectoryProg}/log est inexistant"
                /bin/echo "Le repertoire ${DirectoryProg}/log est inexistant" >> ${Ficlog}                                                                        
                return 1                                                                                                                     
        fi  
	return 0
}
 
 
########### DEBUT DU SCRIPT ##############
 
F_verify
if [ $? -eq "0" ]
then
	F_lftp
	F_tarbz2
#	F_mail OK
else
#	F_mail NOK
	echo 1		
fi

Références

 
asr/sys/script_de_sauvegarde_avec_lftp.txt · Dernière modification: 2016/03/29 23:33 (édition externe)
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki