Saya mendapat banyak peringatan ketika mencadangkan file server Postfix dan Courier saya yang sedang berjalan seperti:
file has vanished: /var/kunden/mail/username/[email protected]/tmp/courier.lock
Bagaimana cara saya menekan peringatan itu dari rsync
saat menjalankannya dari Cron /usr/bin/rsnapshot hourly
?
Bisakah saya mengecualikan dir itu?
/var/kunden/mail/*/*/tmp/
yang tmp
folder bisa lebih dalam juga, misalnya:
file has vanished: /var/kunden/mail/username/[email protected]/.Presse/tmp/1353871473.M716135P32214_imapuid_36.test.de
file has vanished: /var/kunden/mail/username/[email protected]/.Presse/tmp/courier.lock
rsync -a --exclude '/var/kunden/mail/*/*/tmp/' --exclude '/var/kunden/mail/*/*/*/tmp/' /var/kunden/ $SERVER/var_kunden/
?/tmp/
di dalamnya ketika saya menulisnya. Jika Anda ingin lebih eksplisit maka ya Anda bisa menentukannya seperti yang Anda tulis.--exclude='/tmp/'
mengecualikan hanya direktori yang dipanggiltmp
pada akar salinan. Untuk mengecualikan semua subdirektori yang dipanggil ditmp
mana saja, gunakan--exclude='**/tmp/'
.Sayangnya, tidak seperti apa yang dijelaskan dalam solusi SWdream,
--ignore-missing-args
tidak berdampak pada file yang hilang. Ini hanya akan mengabaikan argumen sumber yang tidak ada.Lihat
man rsync
:Cara "resmi" mengabaikan file yang hilang adalah dengan menggunakan skrip ini dari repositori sumber rsync resmi: https://git.samba.org/?p=rsync.git;a=blob_plain;f=support/rsync-no- menghilang; hb = KEPALA
yang sangat mirip dengan apa yang dikatakan @kenorb dan @ gilles-quenot.
sumber
Alasannya adalah file-file ini ada saat rsync sedang membangun daftar file untuk ditransfer tetapi mereka dihapus sebelum mentransfer.
Itu adalah pijatan peringatan, bukan kesalahan. Namun, Anda harus mencoba mencari tahu mengapa file ini dihapus, mungkin penting.
Untuk mengabaikan peringatan ini, Anda dapat menggunakan opsi --exclude seperti pertanyaan di atas atau menggunakan
-ignore-missing-args
opsi rsync, itu membuat rsync mengabaikan file yang hilang:--ignore-missing-args ignore missing source args without error
mungkin membantu.sumber
Kesalahan berarti bahwa
rsync
tidak dapat menemukan file lagi yang ada saat membangun daftar untuk ditransfer. Kesalahan file lenyap ini terjadi ketika file awalnya ditemukan dan kemudian tidak ada lagi. Dalam beberapa kasus itu juga terjadi ketika file sumber rusak atau memiliki karakter yang tidak valid dalam nama (fsck
disarankan).Pada dasarnya ini adalah peringatan, bukan kesalahan, jadi tidak ada yang perlu dikhawatirkan, karena keadaan setiap file tujuan mencerminkan keadaan yang terkait dengan file sumber selama menjalankan.
Jika menyebabkan masalah karena nilai keluar adalah nol, ini dapat diselesaikan dengan skrip wrapper berikut ( sumber ):
atau dengan skrip solusi ( sumber ) berikut:
yang pada dasarnya ada dengan kode kesalahan yang sama dengan rsync jika rsync gagal.
Ini lebih lanjut dibahas dalam: Bug 3653 - Kurangi perlunya peringatan "file yang hilang"
sumber
Atau sederhananya (dengan pesta modern ):
sumber
vanished
di dalamnya juga?Jawaban saya mungkin kasus penggunaan khusus tetapi saya merasa itu layak dicatat, jadi orang tidak kehilangan data jika mereka berada dalam kasus ini.
Saya mendapatkan pesan itu untuk beberapa file sambil melakukan backup rutin drive melalui rsync.
Saya melakukan Pemeriksaan Sistem pada disk dan ternyata ada masalah dengan drive (alokasi / file korupsi dll) dan merekomendasikan cadangan + mengembalikan + memformat ulang.
Jadi sebelum Anda menekan atau mengabaikan pesan secara langsung, mungkin sebaiknya Anda menjalankan pemeriksaan kesehatan pada drive Anda hanya untuk aman.
sumber
tmp
direktori.Coba pasang disk cadangan Anda dengan
nosuid,nodev,nofail,x-gvfs-show
opsi.Tidak yakin sistem mana yang Anda gunakan tetapi saya yakin ini terkait dengan opsi pemasangan disk Anda. Di Linux ini terjadi jika saya mengatur opsi mount ke
User Session Default
. Itu teratasi ketika saya menonaktifkannya dan rsync selesai tanpa kesalahan.sumber
Gunakan parameter ini:
untuk meletakkan daftar dalam file. Dalam file exclude.ini tulis sesuatu seperti:
Dimana:
Ingatlah bahwa jika sistem file tergantung pada kasus, Anda mungkin harus bertanggung jawab untuk ini.
sumber