Depuis quelques temps j'utilise un tout petit script pour faire une sauvegarde de mes serveurs distants sur mon local.

3 serveurs distants se sauvegardant automatique sur le serveur local.

1 petite ligne de commande toute simple suffit :

 /usr/bin/rsync --stats --delete --progress --exclude=/proc/ --exclude=/dev/ --exclude=/var/cache/ --exclude=/sys/ -artvzl root@mon-serveur-distant.fr:/ /mnt/sauvegarde/ 

En temps normal, tout se passe bien, mais depuis quelques jours, le script s'arrête en plein milieu en m'indiquant cette erreur :

rsync error: timeout in data send/receive (code 30) at io.c(239) [receiver=3.0.3]
rsync: connection unexpectedly closed (477 bytes received so far) [generator]
rsync error: error in rsync protocol data stream (code 12) at io.c(635) [generator=3.0.3]

... et je me suis arraché les cheveux à trouver d'où celà pouvait bien venir...

La solution est simple mais longue à trouver ! Mon problème viens de la connection au serveur, après un long moment, elle s'arrête d'elle même... Il faut donc ajouter un :

--timeout=10000

pour que tout rentre dans l'ordre.

Ce qui nous donne le script de backup suivant :

 /usr/bin/rsync --stats --delete --progress --exclude=/proc/ --exclude=/dev/ --exclude=/var/cache/ --exclude=/sys/ -artvzl --timeout=10000 root@mon-serveur-distant.fr:/ /mnt/sauvegarde/