« LINUX:RSYNC-Rassemblement localement » : différence entre les versions
Aller à la navigation
Aller à la recherche
(Page créée avec « __FORCETOC__ =But= Dans ce script, nous rassemblons en un seul endroit ce que nous voulons sauvegarder. Cet ensemble constitue le niveau courant, le plus actuel de la sauv… ») |
Aucun résumé des modifications |
||
Ligne 7 : | Ligne 7 : | ||
fichier "'''rsync.courant.bat'''" | |||
---- | ---- | ||
#!/bin/csh | #!/bin/csh | ||
Ligne 59 : | Ligne 59 : | ||
---- | ---- | ||
fichier "'''repertoire.txt'''" | |||
---- | |||
/produc/utili:utili | |||
/produc/mysql.dump:mysql.dump | |||
/produc/manager:manager | |||
---- | |||
Version du 1 février 2022 à 19:33
But
Dans ce script, nous rassemblons en un seul endroit ce que nous voulons sauvegarder. Cet ensemble constitue le niveau courant, le plus actuel de la sauvegarde.
Script
fichier "rsync.courant.bat"
#!/bin/csh ############################################################ # variables à adapter # # répertoire du programme set MANAGER=/manager/backup # répertoire de la base des sauvegardes set BASE=/produc/backup # répertoire des journaux set DIRLOG=/produc/backup/log ############################################################ cd $MANAGER # rsync => option -n pour être en étape de test # TEST: si la sauvegarde de incrémentielle est en cours, attendre 10 secondes set TEST2=`/usr/bin/cat ${DIRLOG}/rsync.jsm.lock` if ( "$TEST2" != "fin" ) then /usr/bin/sleep 10s endif # TEST: si un autre processus rsync est encore en cours, ne pas démarrer celui-ci set TEST1=`ps ax | grep "rsync --server" | grep -v grep` if ( "$TEST1" == "" ) then echo debut > ${DIRLOG}/rsync.courant.lock date +%Y/%m/%d\ %H:%M:00 >> ${DIRLOG}/log.courant.lis set TEST2=1 if ( "$TEST2" == "1" ) then if ( "$TEST2" == "1" ) then # boucler sur les différents répertoires à sauver, listés dans le fichier repertoire.txt # format: 2 zones séparées par ":" (un couple par ligne) # 1. répertoire source à partir de la racine (exemple: /produc/manager) # 2. répertoire cible sous le répertoire temporel de sauvegarde (exemple;: manager) set LISTEREPERTOIRE=`/usr/bin/cat ${MANAGER}/repertoire.txt` set i foreach i ($LISTEREPERTOIRE) set SOURCE=`echo $i | /usr/bin/awk -F ":" '{printf("%s",$1)}' ` set REPERTOIRECIBLE=`echo $i | /usr/bin/awk -F ":" '{printf("%s",$2)}' ` echo Source: $SOURCE echo Cible: /$REPERTOIRECIBLE if ( ! -d ${BASE}/courant/${REPERTOIRECIBLE} ) then mkdir ${BASE}/courant/${REPERTOIRECIBLE}/ endif /usr/bin/rsync -a --delete --stats --log-file=${DIRLOG}/log.courant.log --exclude=".recycle" ${SOURCE}/ ${BASE}/courant/${REPERTOIRECIBLE}/ end /usr/bin/date > ${BASE}/courant/date.log endif echo fin > ${DIRLOG}/rsync.courant.lock else echo "Occupé" endif
fichier "repertoire.txt"
/produc/utili:utili /produc/mysql.dump:mysql.dump /produc/manager:manager