Saya mendapatkan kesalahan yang disebutkan dalam judul.
Saya menemukan pertanyaan serupa: Jalankan rsync dengan izin root pada mesin jarak jauh . Itu tidak menjawab pertanyaan saya.
Saya adalah admin di server jarak jauh dan saya ingin menggunakan rsync
untuk membuat cadangan file ke kotak lokal saya. Ini perintah rsync saya:
$ rsync -avz me@myserver.com:/var/www/ /backups/Sites/MySite/
Sebagian besar berhasil. Login adalah melalui keypair. Saya tidak dan tidak bisa menggunakan kata sandi (EDIT: untuk masuk melalui SSH). Hanya beberapa file tidak akan ditransfer karena izin. Saya tidak ingin mengubah izin itu.
Inilah kesalahannya:
receiving file list ... done
rsync: send_files failed to open "/var/www/webapp/securestuff/install.php": Permission denied (13)
Saya tidak ingin mengubah izin pada file itu. Itu (dan yang lainnya menyukainya) tidak boleh dibaca (kecuali oleh root).
Ini harus dijalankan dalam pekerjaan cron dan saya lebih suka solusi satu-line sederhana hanya menggunakan perintah rsync. Pilihan berikutnya adalah skrip shell yang dapat saya hubungi dari pekerjaan cron. Dalam kasus apa pun saya tidak bisa login secara manual ke mesin remote dan menjadi root (karena saya akan tidur ketika ini berjalan.
Bagaimana saya bisa menggunakan rsync untuk mencadangkannya ke kotak lokal saya?
rsync: send_files failed to open "/cygdrive/...": Permission denied (13)
. Jadi komputer sumber saya adalah Windows cygwin. Situasi yang sedikit berbeda, tetapi untuk anak cucu, solusi saya adalah klik kanan cmd.exe dan Jalankan sebagai administrator .