306 votes

Comment faire pour que rsync supprime les fichiers qui ont été supprimés du dossier source ?

J'ai récemment mis en place une machine avec Ubuntu Server pour héberger des serveurs de jeux. J'ai installé un plugin de sauvegarde pour chaque serveur de jeu qui crée des sauvegardes fréquentes des fichiers du monde de jeu dans un dossier particulier de la machine. J'ai également établi un cron pour copier automatiquement ces sauvegardes vers mon dossier Dropbox tous les soirs en utilisant rsync avec l'option -a option.

Après quelques mois, mon compte Dropbox a atteint sa limite de stockage et j'ai réalisé que je ne serais pas en mesure de conserver autant de sauvegardes, j'ai donc configuré le plugin de sauvegarde du serveur de jeu pour ne pas conserver autant de sauvegardes, puis j'ai attendu quelques jours pour voir s'il allait supprimer les anciennes sauvegardes comme il est prévu de le faire sur une base hebdomadaire. Le plugin de sauvegarde a fini par faire son travail et a supprimé les anciennes sauvegardes, je m'attendais donc à ce que le plugin de sauvegarde du serveur de jeu soit désactivé. rsync une tâche cron pour supprimer ultérieurement les anciennes sauvegardes de mon dossier Dropbox afin qu'elles correspondent au dossier source, mais cela n'a pas été fait. J'ai donc quelques questions :

  • Par défaut, est-ce que rsync uniquement ajouter vers le dossier de destination qui ont été ajoutés au dossier source et changement des fichiers qui ont été modifiés dans le dossier source mais PAS supprimer fichiers qui ont été supprimés du dossier source ?

  • Si c'est le cas, quelle est la meilleure façon de faire rsync faire ça ? I veux que le dossier de destination reflète parfaitement le dossier source, ce qui implique la suppression de tous les fichiers qui ont été supprimés du dossier source.

Je vois quelques options listées dans la page du manuel pour rsync qui pourrait faire l'affaire, mais comme je ne suis pas familier avec.

0voto

Le drapeau '-delete' doit apparaître après votre nom de domaine. /source y /destination .
Donc c'est comme ça

rsync -rvpthE --progress /Volumes/EOS_DIGITAL/DCIM/ /Users/mitchellg/Desktop/files -delete

Les options sont les suivantes :

  • -r récursif
  • -v verbose (impression à l'écran)
  • -p permissions
  • -t le temps (utiliser le temps au lieu des sommes de contrôle 'c')
  • -h lisible par l'homme
  • -E Informations étendues (les balises de couleur sur un .Mac)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X