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-srcs'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.txtet b.txtsont également supprimés à distance, mais d.txtet README.txtsont 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 Aet un public_htmlré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 Ale public_htmlré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?
rsynccar 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.