Ketika saya menggunakan opsi -a seperti yang ditanyakan dan dijawab di Pertahankan izin dengan rsync , saya mendapat banyak kesalahan "rsync: gagal untuk mengatur izin".
rsync: failed to set permissions on "/ata/text/RCS/jvlc,v": Operation not permitted (1)
rsync: failed to set permissions on "/ata/text/RCS/jvm,v": Operation not permitted (1)
rsync: failed to set permissions on ...
Kenapa ini? File-file ini adalah file normal dengan izin 0664.
permissions
rsync
prosseek
sumber
sumber
Jawaban:
Kemungkinan besar, rsync di tujuan tidak berjalan sebagai pengguna dengan izin ke
chmod
file-file tersebut (yang harus menjadi pemilik atau root file).sumber
Kesalahan ini terjadi, karena operasi untuk mengubah izin tidak diizinkan. Jadi, periksa apakah pengguna Anda yang menjalankan perintah memiliki izin yang benar (mis. Dia bukan pemilik), atau sistem file Anda tidak mendukungnya.
Anda dapat mengabaikan peringatan dengan menentukan argumen tambahan untuk rsync to
--no-perms
dan-O
(--omit-dir-times
) untuk menghindari mencoba mengatur izin dan waktu modifikasi pada file / direktori. Ini harus menyelesaikan kesalahan. Atau hindari penggunaan-a
.sumber
Seperti yang sudah dikatakan, masalah terjadi setiap kali Anda tidak memiliki izin untuk mengubah izin file di tujuan
rsync
. Namun, Anda dapat menghindari pesan kesalahan ini dengan menggunakan dua argumen tambahan--no-o
dan--no-g
.Contoh:
sumber
--no-owner
dan--no-group
tidak mengontrol izin. Anda menginginkannya--no-perms
. Jika Anda ingin menghindari mencoba mengubah kepemilikan, Anda mungkin memerlukan ketiga bendera.Latar Belakang
Biasanya dengan
rsync
Anda akan melihat peringatan jika:rsync
server yang di ujung lain tidak memiliki izin untuk menjalankan tindakan yang terkait dengan berikut ini:Masalah-masalah ini akan muncul dengan sendirinya melalui
pemilik kelompok izinrsync
klien yang berusaha untuk berkomunikasi denganrsync
server muncul sebagai pesan seperti ini ketika mencoba untuk menyalin file / direktori ke penerima:Dalam kasus di mana pihak penerima tidak dapat melakukan operasi ini, Anda dapat menginstruksikan
rsync
untuk hanya melompati upaya melakukannya, menyadari bahwa tujuan tidak akan benar-benar identik dengan metadata pengirim di sekitar file. Ini masih akan membuat salinan identik dari bagian biner dari file dan direktori.Agar
halaman manual rsyncrsync
tidak khawatir tentang metadata, Anda dapat menggunakan--no-OPTION
untuk menonaktifkan opsi tersirat ini.Jadi dalam kasus kami, kami ingin menggunakan sesuatu seperti ini untuk menonaktifkan:
Contoh
Alternatif
Alasan lain ini terjadi adalah karena penggunaan
-a
saklar.-a
termasuk keluarga sakelar:Alih-alih menggunakan
Ini adalah opsi individual yang disertakan-a
Anda bisa menggunakan switch individu dan melupakan harus menggunakan--no-OPTION
.-a
Melakukan hal-hal seperti ini contoh di atas akan menjadi ini sebagai gantinya:
sumber