GNU/Linux >> Tutoriels Linux >  >> Linux

L'utilisation de Rsync pendant la mise à jour de la source est-elle sûre ?

Est-il sûr d'utiliser rsync lorsque le système de fichiers source est monté et accessible en écriture, en supposant qu'il puisse très bien être modifié pendant que rsync est en cours d'exécution ? Je présume que dans des conditions de course, je n'obtiendrai peut-être pas les dernières modifications, mais y a-t-il un risque de corruption ?

Réponse acceptée :

Utilisation de rsync est assez sûr sur les systèmes de fichiers montés en lecture-écriture. Lorsque rsync est démarré, il crée une liste de fichiers, puis commence à copier ces fichiers. Cette liste de fichiers n'est pas mise à jour pendant l'exécution. Les données réelles sont ensuite copiées.

Cela signifie qu'un fichier change après rsync a construit la liste des fichiers, il copiera le nouveau teneur. Cependant, lorsqu'un nouveau fichier est ajouté après rsync a constitué sa liste de fichiers, ce nouveau fichier n'est pas copié. Si un fichier est supprimé après rsync a construit la liste des fichiers, rsync avertira qu'il n'a pas pu copier ce fichier. Gardez à l'esprit que rsync n'est pas un instantané, cela signifie qu'il est difficile de dire à quel moment rsync copié les données.

Les instantanés du système de fichiers ou du gestionnaire de volumes (par exemple, en utilisant ZFS ou LVM), d'autre part, sont créés instantanément et constituent un instantané cohérent du système de fichiers à un moment bien défini qui peut ensuite être copié sur un autre hôte. rsync n'offre pas ce genre de cohérence.

MODIF : Comme d'autres l'ont souligné dans les commentaires, il est possible que rsync pourrait en fait corrompre votre fichier. Lorsque rsync commence à lire un fichier et qu'une application écrit ce fichier en même temps, vous pouvez vous retrouver avec un fichier corrompu.


Linux
  1. Comment copier des répertoires de manière récursive à l'aide de rsync tout en excluant des fichiers spécifiques

  2. Utilisation des options d'inclusion et d'exclusion de Rsync pour inclure le répertoire et le fichier par modèle

  3. Comment RSYNC un seul fichier?

  4. GDB ne charge pas le fichier source

  5. Comment remplir un fichier avec FF en utilisant dd ?

Utilisation du fichier de configuration SSH

Commande de source bash

Comment :une introduction à l'utilisation de Git

Transférer des fichiers à l'aide de WinSCP

Utilisation de nc pour transférer un fichier volumineux

Comportement de rsync avec un fichier en cours d'écriture ?