Je voudrais utiliser rsync pour ...
- supprimer les fichiers côté réception qui ont également été supprimés côté envoi
- ne supprime pas les autres fichiers qui se trouvent dans le répertoire rsynced côté réception
Par exemple, disons que j'ai un répertoire local-src
:
AVANT: local-src
contient localement ...
a.txt
b.txt
c.txt
mon répertoire distant que je voudrais synchroniser avec le contenu de local-src
s'appelle remote-src
.
AVANT: remote-src
contient à distance ...
a.txt
b.txt
c.txt
d.txt
README.md
Disons que je supprime certains fichiers dans local-src
:
APRÈS SUPPRESSION LOCALE: local-src
contient localement ...
c.txt
Comment puis-je utiliser rsync de manière à garantir que les fichiers supprimés à la source sont également supprimés à la destination, mais sans supprimer d'autres fichiers à la destination. Par exemple, j'aimerais avoir les éléments suivants à destination:
APRÈS EFFACEMENT LOCAL: remote-src
contient à distance ...
c.txt
d.txt
README.md
Autrement dit, a.txt
et b.txt
sont également supprimés à distance, mais d.txt
et README.txt
sont laissés seuls.
Existe-t-il un moyen d'y parvenir avec rsync?
EDIT: Le verdict semble être que cela pourrait être impossible avec rsync. On m'a demandé pourquoi j'avais besoin de cela, alors pour illustrer mon cas d'utilisation:
Disons que j'ai un serveur Web. Sur ce serveur Web, j'ai un tas de répertoires, disons que j'ai un répertoire A
et un public_html
répertoire à partir duquel mon site est servi. Disons que j'ai un processus automatisé qui produit des fichiers dans le répertoire A
. Je voudrais rsync (ou synchroniser en utilisant un autre outil) les fichiers générés ou mis à jour dans A
le public_html
répertoire, sans supprimer d'autres fichiers arbitraires qui pourraient se trouver à l'intérieur public_html
. Je ne veux certainement pas que rsync supprime accidentellement mon site Web.
Si rsync n'est pas l'outil pour ce travail, quelqu'un d'autre sait-il comment je peux le faire?
rsync
car il n'y a aucun moyen de savoir quels fichiers se trouvent déjà dans le dossier distant. Vous devrez peut-être trouver un autre outil.