Pertama, Anda harus membaca sedikit tentang rsync's sertakan / kecualikan sintaks. Saya merasa bahwa apa yang ingin Anda lakukan lebih baik dilakukan menggunakan **
gumpalan daripada *
gumpalan. ( **
memperluas ke sejumlah entri, sedangkan *
memperluas hanya ke satu entri yang mungkin cocok dengan beberapa entri direktori . Rinciannya berada di man rsync
bawah Sertakan / Kecualikan Aturan Pola .)
Yang mengatakan, jika Anda ingin dapat mengembalikan sistem ke kondisi kerja yang dikenal dari cadangan dengan kerumitan minimum, Anda harus berhati-hati dengan mengecualikan file atau direktori. Saya menggunakan rsnapshot sendiri dan telah mengambil pendekatan yang berlawanan: sertakan semuanya kecuali beberapa direktori yang dipilih dengan cermat.
Jadi rsnapshot.conf saya sebenarnya menyatakan (dengan tab untuk membuat parser file konfigurasi rsnapshot):
interval backup NNN # pick your poison
one_fs 0
exclude /backup/**
exclude /dev/**
exclude /proc/**
exclude /run/**
exclude /sys/**
exclude /tmp/**
backup / ./
dan sangat sedikit lagi. Ya, itu berarti saya mungkin menyalin sedikit lebih banyak dari apa yang benar-benar dibutuhkan, tetapi itu memastikan bahwa apa pun yang tidak dimaksudkan sebagai ephermal disalin. Karena rsnapshot menggunakan perilaku hardlink-to-deduplicate rsync, satu-satunya biaya nyata untuk ini adalah selama menjalankan pertama; setelah itu, dengan asumsi Anda memiliki lokasi target pencadangan ukuran yang cukup (dibandingkan dengan total ukuran data Anda), dibutuhkan waktu ekstra atau ruang disk yang sangat sedikit. Saya mengecualikan isi / cadangan karena di situlah saya memasang sistem file target cadangan; tidak termasuk itu akan menyebabkan situasi menyalin cadangan ke dalam dirinya sendiri. Namun, untuk kesederhanaan jika saya perlu mengembalikan ke bare metal, saya ingin tetap menggunakan mount point!
Dalam kasus saya, saya juga tidak dapat menggunakan secara wajar one_fs 1
; Saya menjalankan ZFS dengan ~ 40 sistem file saat ini. Mendaftar semua itu secara eksplisit akan menjadi mimpi buruk pemeliharaan dan membuat bekerja dengan sistem file ZFS jauh lebih terlibat daripada yang seharusnya.
Cukup banyak hal yang ingin Anda kecualikan di atas dan di luar yang akan tergantung pada distribusinya, jadi hampir tidak mungkin untuk memberikan jawaban umum. Yang mengatakan, Anda cenderung menemukan beberapa kandidat di bawah / var.
exclude /somepath/*
baik-baik saja dalam hal ini; tidak termasuk semua yang ada di dalamnya/somepath/
, seperti yang diharapkan. Anda tidak perlu**
karena tidak perlu melihat lebih dalam ketika semuanya/somepath/
sudah dikecualikan.