J'essaie de configurer rsync pour synchroniser mon serveur Web principal sur le serveur distant en ajoutant le fichier généré à ce dernier.
Voici la commande que j'utilise:
rsync -avh --update -e "ssh -i /path/to/thishost-rsync-key" remoteuser@remotehost:/foo/bar /foo/bar
Mais il semble que le serveur Web transfère réellement tous les fichiers malgré l'indicateur '--update'. J'ai essayé différentes combinaisons de drapeaux (par exemple, en omettant '-a' et en utilisant '-uv' à la place) mais aucune n'a aidé. Je me demande donc comment modifier la commande rsync pour n’envoyer que les fichiers récemment ajoutés. Merci
rsync /foo/bar remoteuser@remotehost:/foo/bar
-a
options (propriétaire, groupe, perms, ...), cela devrait être la cause de notre problème.-c
option. Il ignore les fichiers existants en fonction d'une somme de contrôle, au lieu de l'heure ou de la taille de modification.Réponses:
De
man rsync
:--update
fait quelque chose de légèrement différent, ce qui explique probablement pourquoi vous obtenez des résultats inattendus (voirman rsync
):la source
--ignore-existing
signifie- t-il que vous ne transférez pas de fichiers existant sur le récepteur ou ne transférez pas de fichiers si un fichier / dossier portant le même nom existe déjà sur le récepteur?Dans mon cas, j'ai eu des problèmes similaires, ayant tous les fichiers transférés au lieu des fichiers modifiés / nouveaux. J'ai résolu ce problème en utilisant des paramètres
-t
(au lieu de-a
), et-P
(équivalent à--partial --progress
):Cela transfère uniquement les nouveaux fichiers et les fichiers déjà existants mais modifiés: en
-a
fait trop, comme la synchronisation des identifiants de groupe et d'utilisateur, qui dans mon cas ne peut pas fonctionner, car j'ai plusieurs utilisateurs et groupes sur mes systèmes source et cible.Les paramètres en détail:
-h
: nombres lisibles par l'homme-v
: verbeux-r
: recurse dans les annuaires-P
:--partial
(conserve les fichiers partiellement transférés) +--progress
(affiche la progression pendant le transfert)-t
: conserver les temps de modificationla source
-rlptgoD
, les autorisations ne sont pas flattées, les groupes et les propriétaires sont préservés - pas ma sauvegarde type sécurisée pour le jeu ...)D'après mon expérience avec rsync, une copie de partition de 1 To est trop volumineuse pour être efficace. Cela prend rsync à jamais pour le traiter. Au lieu de cela, faites-le par sous-répertoires. Autrement dit, exécutez rsync pour chaque sous-répertoire principal. Cela va beaucoup plus vite s'il ne faut pas jongler avec des dizaines de milliers de fichiers.
la source
Essayer
la source