Saya menggunakan perintah rsync untuk mengambil cadangan file dari salah satu server ubuntu saya ke mesin ubuntu lain. Server cadangan memicu skrip yang menggunakan perintah rysnc. Inilah perintah yang saya gunakan
rsync -rltvh --partial --stats --exclude = .beagle / --exclude =. * --delete-after root @ live_server: / home / / home / live_server_backup / home >> /tmp/logfile.log 2> & 1
live_server ssh-mampu tanpa kata sandi. Jadi itu berhasil. Sekarang masalahnya dengan
--delete-after option
Setelah semua file disinkronkan. Pada akhirnya saya bisa melihat prosedur penghapusan kesalahan skipped.logfile seperti
Terjadi kesalahan IO - melewatkan penghapusan file
Ketika saya mencoba menemukan log ada beberapa kesalahan saat sinkronisasi file
rsync: send_files gagal membuka "/home/xyz/Desktop/PPT_session_1_context.pdf": Izin ditolak (13)
Jadi pemahaman saya adalah karena rsync tidak bisa membaca semua file dari target karena alasan keamanan itu melewatkan penghapusan file.
Apakah ada cara untuk membuat --delete-after work bahkan jika ada kesalahan izin? Saya tidak ingin menggunakan penghapusan paksa karena akan berbahaya dalam beberapa situasi.
sumber
Jawaban:
Catatan tambahan tentang masalah ini:
vanished file
seharusnya tidak memicu kondisiIO error encountered -- skipping file deletion
, tetapi ini sering terjadi ketika Anda membuat cadangan dari sistem live.Ini dicakup oleh rsync bug # 7809 ( https://bugzilla.samba.org/show_bug.cgi?id=7809 ) dan harus diselesaikan dalam rilis 3.1.0 mendatang.
Sementara itu gunakan:
sumber
Dari halaman manual rsync:
Itu akan mengatasi masalah Anda.
sumber
Anda harus menggunakan file pengecualian untuk
rsync
mengabaikan file yang tidak bisa dibaca. Daftar dapat dihasilkan denganfind . -exec test -r '{}'
di direktori sumber dan kemudian dipijat ke dalam format file pengecualian yangrsync
diinginkan.sumber