# Lancer rsync sur un montage nfs

**URL:** <https://www.debian-fr.org/t/lancer-rsync-sur-un-montage-nfs/27850>\
**Category:** Programmation\
**Created:** [Février 20, 2016, 11:01 UTC](https://www.debian-fr.org/t/lancer-rsync-sur-un-montage-nfs/27850 "2016-02-20T23:01:40Z")\
**Posts on this page:** 5\
**Page:** 2

<div class="post-metadata">

**Author:** ![lol](https://www.debian-fr.org/user_avatar/www.debian-fr.org/lol/32/15629_2.png) [@lol](https://www.debian-fr.org/u/lol)\
**Post date:** [Février 20, 2016, 11:04 UTC](https://www.debian-fr.org/t/lancer-rsync-sur-un-montage-nfs/27850/21 "2016-02-20T23:04:27Z")

</div>

Salut,

> [@MisterFreez](#):
>
> On a un sujet qui recences les scripts que d’autres utilisateurs ont fait dans Trucs & astuces je pense que ça pourrait être bien de l’envoyer le copier là bas, non ?

Oui, je sais, mais par modestie, je pensais que ça ne serait pas opportun.  
Mais si tu m’y encourage, je le fais.  
J’aimerais bien aussi créer une rubrique sur le Wiki à ce sujet. Des infos sur les langages, quelques pages sur de l’aide à la programmation, des scripts…  
Thuban à déjà fait une page sur son Yaptitude.  
Moi je suis très très très nul et incapable de faire le tri des scripts qui sont sur le forum…

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 20, 2016, 11:05 UTC](https://www.debian-fr.org/t/lancer-rsync-sur-un-montage-nfs/27850/22 "2016-02-20T23:05:05Z")

</div>

ACtuellement je ne peux pas t’aider (je suis en vacances 😛 ), dès mon retour on pourras organiser ça (si vous ne l’avez pas fait avant).

Après avoir écris ton post je me suis posé la question de la licence des scripts postés. Personnellement je ne l’ai pas noté avant ils sont en licences “Rien à battre” (sauf celui qui est déjà en GPL), je modifierais mes postes en conséquences.

---

<div class="post-metadata">

**Author:** ![david96](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/ccd318/32.png) [@david96](https://www.debian-fr.org/u/david96)\
**Post date:** [Février 20, 2016, 11:35 UTC](https://www.debian-fr.org/t/lancer-rsync-sur-un-montage-nfs/27850/23 "2016-02-20T23:35:39Z")

</div>

Bon sang, mais cet excellent ça en local familiale et petites entreprises ! ![:041](https://www.debian-fr.org/uploads/default/original/1X/bfe857c9119752799c3eac55ca37a50312c51282.gif "applaudit")

Marchi 🙂  
Par contre au lieu de faire journalier pourquoi ne pas intégrer l’incrémentale ?  
Genre :

`bdate=$(date +%d%m%y)
rsync -abz --backup-dir=$bdate --delete `

---

<div class="post-metadata">

**Author:** ![lol](https://www.debian-fr.org/user_avatar/www.debian-fr.org/lol/32/15629_2.png) [@lol](https://www.debian-fr.org/u/lol)\
**Post date:** [Février 20, 2016, 11:35 UTC](https://www.debian-fr.org/t/lancer-rsync-sur-un-montage-nfs/27850/24 "2016-02-20T23:35:41Z")

</div>

Salut,  
Je l’ai fais mais j’avais oublié de donner un retour.

```auto

```

Donc 7 sous-répertoires dans /mnt/sidlol/sos/, un par jour de la semaine.

---

<div class="post-metadata">

**Author:** ![mikikito](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/ee59a6/32.png) [@mikikito](https://www.debian-fr.org/u/mikikito)\
**Post date:** [Février 21, 2016, 2:37 UTC](https://www.debian-fr.org/t/lancer-rsync-sur-un-montage-nfs/27850/25 "2016-02-21T02:37:29Z")

</div>

Bonjour et merci pour ce script,

J’y ai fais quelques modifications si ca en interesse certain et surtout s’il y a des linuxiens chevronnés qui pourrait le relire pour erreurs et me filer un coup de main pour envoyer un mail en cas d’echec.

Voici le script :

[code]#!/bin/bash

### sauvegarde différentielle journalière

### ATTENTION : placer un fichier “.test” a la racine du montage NFS

### In /etc/fstab : 192.168.1.102:/volume1/test /mnt/test/ nfs user,noauto 0 0

###CRON : 0 5 \* \* 1-5 /home/scripts/backup.bash \> /home/scripts/logs/backup.log 2\>&1 pour lancer le script à 05h00 du lundi au vendredi.

# internationalisation

. /etc/default/locale  
export LANG

### Variables

IPNAS=“192.168.1.102” # IP server NAS  
DIRNAS=/volume1/test # REPERTOIRE PARTAGE DU SERVEUR NAS  
DIR2NAS="/mnt/test" # répertoire local vers lequel sera monté le partage réseau  
#RSYNC\_OPTIONS="-acRz --delete-during --delete-excluded --ignore-errors --force --numeric-ids --partial --stats --timeout=900"  
#RSYNC\_OPTIONS="-rltgoDvh --ignore-errors --force --stats --progress"  
RSYNC\_OPTIONS="-var --stats --delete-after"

# Directories to backup

DIR2BCKP="()" # ne pas modifier !  
DIR2BCKP[0]="/home/prive/“  
DIR2BCKP[1]=”/home/public/"

# Directories to create for backup

DIR2CREATE="()" # ne pas modifier !  
DIR2CREATE[0]="prive"  
DIR2CREATE[1]=“public”

# Exclusions

EXCLUDE="()" # ne pas modifier !  
EXCLUDE[0]="/home/scripts/exclude\_prive.txt" #liste des fichiers et repertoires a exclure  
EXCLUDE[1]=""

## Temps d’execution du script

START=$(date +%s)

## Journalisation

LOG="/home/scripts/logs/execution\_$(date +%A)-result.log"  
LOG\_RSYNC="/home/scripts/logs/rsync\_$(date +%A)-result.log"  
#rm /home/scripts/logs/rsync\_$(date +%A)-result.log

### system commands used by this script

declare -i count=${#DIR2BCKP[@]}  
declare -i i=0

# Temps d’execution du script

START=$(date +%s)

## Debut du script pour les logs

echo “##### Debut de la copie en date du $(date) #####” \>\> $LOG

if [“$(ping -c 3 $IPNAS | grep ‘0 received’)”]  
then  
echo “Server NAS not online !” \>\> $LOG  
exit 1  
else  
if ! df | grep -q '$IPNAS:$DIRNAS’  
then  
mount -t nfs $IPNAS:$DIRNAS $DIR2NAS  
if [$? -eq 0]  
then {  
echo “Server NAS mounted successfully.” \>\> $LOG  
}  
else {  
echo “Server NAS not mounted successfully !” \>\> $LOG  
exit 1  
}  
fi  
fi  
fi

if [-f $DIR2NAS/.test]; then

# If not exists backup directories of the day

[-d “$DIR2NAS/$(date +%A)”] || mkdir “$DIR2NAS/$(date +%A)”

while [“$i” -lt “$count”]; do   
#[-d “$DIR2NAS/${DIR2CREATE[$i]}” ] && mkdir “$DIR2NAS/${DIR2CREATE[$i]}”  
# do the backup  
RSYNC\_RES=$(rsync $RSYNC\_OPTIONS “${DIR2BCKP[$i]}” --log-file=$LOG\_RSYNC --exclude-from=${EXCLUDE[$i]} “$DIR2NAS/$(date +%A)/${DIR2CREATE[$i]}”)  
echo $RSYNC\_RES \>\> $LOG   
i=$(($i+1))  
done

## Afficher le temps d’execution

STOP=$(date +%s)  
RUNTIME=`expr $STOP - $START`

## envoi du mail (a faire!!! je sais pas comment)

#mailx vmail \< $LOG ;  
if ! umount ${DIR2NAS}; then  
echo “An error code was returned by umount command !” \>\> $LOG  
exit 5  
else echo “Server NAS dismounted successfully.” \>\> $LOG  
fi  
else  
echo “Server NAS not mounted !” \>\> $LOG  
fi

## Fin du script de log

printf “Temps d’execution : %02d:%02d:%02d\n” $((RUNTIME/3600)) $((RUNTIME/60%60)) $((RUNTIME%60)) \>\> $LOG  
echo “##### Fin de la copie en date du $(date +”%d-%m-%Y a %H:%M") #####" \>\> $LOG

exit

[/code]

Merci d’avance

[Page précédente](https://www.debian-fr.org/t/lancer-rsync-sur-un-montage-nfs/27850.md?page=1)
