web-dev-qa-db-fra.com

Comportement Rsync dans un script cron

J'ai un périphérique nfs qui crée un point de contrôle (sauvegardes) tous les jours. Je souhaite utiliser Rsync pour copier ces points de contrôle sur un autre appareil (Drobo connecté via iSCSI). J'ai donc exécuté le script sur un seul partage nfs et cela fonctionne bien. Voici quelques problèmes que je prendrai trop de temps à expérimenter.

  1. Il y a plusieurs partages à sauvegarder, et j'aimerais les parcourir en boucle et exécuter le script sur chacun d'eux. Comment cela fonctionnera-t-il avec Rsync? Le travail Rsync va-t-il commencer puis se relancer et exécuter simultanément un deuxième, un troisième et un quatrième travaux Rsync, ou Rsync attendra-t-il que le travail se termine avant de terminer et de redémarrer la boucle? Peut-être que je dois juste mettre un peu de contrôle dans la boucle pour ne pas redémarrer avant la fin de Rsync.

  2. Se référant à cette dernière phrase; qu'est-ce que Rsync renvoie que je pourrais utiliser pour signaler s'il y avait une erreur ou continuer la boucle si tout se passait bien?

  3. Les points de contrôle créés par le périphérique NFS sont nommés en fonction de la date. Rsync décompresse le fichier .ckpt * dans un répertoire nommé de manière statique. Comme la source est un répertoire différent mais que les fichiers à l'intérieur sont identiques et que la cible porte le même nom, Rsync ne fera-t-il que copier les différences?

c'est le travail rsync: rsync -az $NEWCHKPT/* /Drobo/bak.${share}/${share}_daily

Je sais que c'est post demande beaucoup. Tout conseil est grandement appréciée.

4
Dan
  1. Cela dépend de la façon dont vous écrivez la boucle. à moins que vous ne mettiez en arrière les commandes rsync avec le symbole &, les commandes rsync seront exécutées dans l'ordre.

  2. rsync retournera un état de sortie utile. Ceux-ci sont listés dans la page de manuel de rsync. man rsync | less '+/^EXIT VALUE'. Vous devez décider si vous souhaitez abandonner le script entier lorsqu'un script échoue ou tenter d'exécuter les autres, puis fournissez un résumé des erreurs à la fin pour ceux qui ont échoué.

  3. rsync dispose de plusieurs moyens pour décider de copier un fichier ou non. La valeur par défaut consiste à vérifier la taille et la dernière heure de modification des fichiers source et cible. Si les deux correspondent, la copie de ce fichier est ignorée. C'est généralement assez bon.

2
geirha