Saya pikir Anda dapat menggunakan -no-
opsi rsync
untuk TIDAK menyalin kepemilikan atau izin file yang sedang Anda sinkronkan.
Kutipan dari rsync Man Page
--no-OPTION
You may turn off one or more implied options by prefixing the option
name with "no-". Not all options may be pre‐fixed with a "no-":
only options that are implied by other options (e.g. --no-D,
--no-perms) or have different defaults in various circumstances (e.g.
--no-whole-file, --no-blocking-io, --no-dirs). You may specify
either the short or the long option name after the "no-" prefix (e.g.
--no-R is the same as --no-relative).
For example: if you want to use -a (--archive) but don’t want -o
(--owner), instead of converting -a into -rlptgD, you could specify
-a --no-o (or -a --no-owner).
The order of the options is important: if you specify --no-r -a, the
-r option would end up being turned on, the opposite of -a
--no-r. Note also that the side-effects of the --files-from
option are NOT positional, as it affects the default state of several
options and slightly changes the meaning of -a (see the --files-from
option for more details).
Kepemilikan & Izin
Melihat-lihat halaman manual saya yakin Anda ingin menggunakan sesuatu seperti ini:
$ rsync -avz --no-perms --no-owner --no-group ...
Untuk menghapus file yang tidak ada, Anda dapat menggunakan --delete
sakelar:
$ rsync -avz --no-perms --no-owner --no-group --delete ....
Cap waktu
Adapun cap waktu saya tidak melihat cara untuk menjaga ini tanpa mengubah bagaimana Anda akan melakukan perbandingan file SUMBER vs DEST. Anda mungkin ingin mengatakan rsync
untuk mengabaikan cap waktu menggunakan sakelar ini:
-I, --ignore-times
Normally rsync will skip any files that are already the same size
and have the same modification timestamp. This option turns off this
"quick check" behavior, causing all files to be updated.
Memperbarui
Untuk cap waktu, --no-times
lakukan apa yang Anda cari.
>f..T...
yang menunjukkan fileflags dan waktu modifikasi sedang ditetapkan pada tujuan, yang adalah apa yang saya coba hindari.Saya pikir lebih mudah untuk menghindari opsi -a
dan atur hanya opsi yang Anda inginkan.
Jika Anda menyukai semua opsi tetapi tidak modifikasi pengguna -o , grup -g , time -t dan izin -p sehingga Anda bisa mengurangi keempat opsi ini dari arsip yang setara.
Untuk menghapus file pada tujuan, gunakan opsi --delete .
Untuk pertanyaan Anda: Tapi saya pikir semua file akan diperiksa - rsync tidak dapat mentransfer / memeriksa hanya file yang diubah hanya oleh konten.
sumber
-l
adalah untuk tautan,-D
perangkat (diperlakukan sama dengan--specials
), saya pikir-r
sendiri sudah cukup jika kita berbicara konten.Saya pikir apa yang Anda cari adalah pilihannya
dari halaman manual:
Jika Anda benar-benar ingin menghapus file yang hilang dalam penggunaan sumber dir
--delete
sumber
Anda dapat memaksa rsync untuk mengabaikan pemeriksaan berdasarkan waktu dan ukuran file mod dan menggunakan pendekatan berbasis chksum dengan tombol "-c".
Ini berarti bahwa perlu membandingkan seluruh file dalam potongan (dan mentransfer metadata yang relevan bolak-balik antara sumber dan tujuan agar hal ini terjadi) terlepas dari apakah waktu dan ukuran file cocok atau tidak, tetapi hanya akan mentransfer potongan yang berbeda antara sumber dan tujuan.
Menggunakan switch ini bersama dengan switch lain yang disarankan oleh orang lain harus membatasi apa yang disalin (hanya menyalin apa yang telah berubah), dan memiliki manfaat melakukan pemeriksaan konsistensi antara sumber dan tujuan, TETAPI itu memakan waktu lebih lama tergantung pada kecepatan tautan Anda sebagai harus chksum potongan file di kedua sisi dan bandingkan).
sumber
Perintah di bawah ini akan bekerja dengan sempurna, saya mengujinya untuk kebutuhan saya sendiri, hanya akan mengambil perubahan konten.
sumber