Saya ingin menggunakan rsync untuk ...
- hapus file di sisi penerima yang juga dihapus di sisi pengirim
- tidak menghapus file lain yang ada di direktori rsynced di sisi penerima
Sebagai contoh, katakanlah saya memiliki direktori local-src
:
SEBELUM: local-src
secara lokal mengandung ...
a.txt
b.txt
c.txt
direktori jarak jauh saya yang ingin saya sinkronkan ke konten local-src
disebut remote-src
.
SEBELUM: remote-src
berisi ...
a.txt
b.txt
c.txt
d.txt
README.md
Katakanlah saya menghapus beberapa file di local-src
:
SETELAH HAPUS LOKAL: local-src
secara lokal mengandung ...
c.txt
Bagaimana saya bisa menggunakan rsync dengan cara memastikan bahwa file yang dihapus di sumber juga dihapus di tujuan, tetapi tanpa menghapus file lain di tujuan. Misalnya, saya ingin yang berikut ini di tempat tujuan:
SETELAH HAPUS LOKAL: remote-src
berisi ...
c.txt
d.txt
README.md
Artinya, a.txt
dan b.txt
yang jauh dihapus juga, tetapi d.txt
dan README.txt
yang tersisa sendirian.
Apakah ada cara untuk mencapai ini dengan rsync?
EDIT: Putusannya sepertinya tidak mungkin dengan rsync. Saya ditanya mengapa saya membutuhkan ini, jadi untuk mengilustrasikan kasus penggunaan saya:
Katakanlah saya memiliki server web. Di server web itu, saya punya banyak direktori, misalkan saya punya direktori A
dan apublic_html
direktori tempat situs saya dilayani. Katakanlah saya memiliki beberapa proses otomatis yang menghasilkan file dalam direktori A
. Saya ingin rsync (atau sync menggunakan beberapa alat lainnya) file yang dihasilkan atau diperbarui di A
ke public_html
direktori, tanpa menghapus file sewenang-wenang lainnya yang mungkin berada dalam public_html
. Saya tentu saja tidak ingin rsync untuk secara tidak sengaja menghapus situs web saya.
Jika rsync bukan alat untuk pekerjaan ini, apakah orang lain tahu bagaimana saya bisa melakukan ini?
rsync
karena tidak ada cara untuk mengetahui file mana yang sudah ada di folder jauh. Anda mungkin perlu mencari alat lain.