Ada direktori A
yang isinya sering diubah oleh orang lain.
Saya telah membuat direktori pribadi B
tempat saya menyimpan semua file yang pernah ada A
.
Saat ini, saya hanya kadang-kadang menjalankan rsync
untuk mendapatkan file yang akan didukung dari A
ke B
. Namun, saya khawatir kemungkinan beberapa file akan ditambahkan A
, dan kemudian dihapus dari A
sebelum saya mendapatkan kesempatan untuk menyalinnya B
.
Apa cara terbaik untuk mencegah hal ini terjadi? Idealnya, saya ingin agar skrip cadangan saya saat ini berjalan setiap kali isi A
diubah.
sumber
incrond
mungkin juga menarik./etc/profile
untuk seluruh sistem atau.bash_profile
hanya untuk pengguna Anda. Untuk menjalankannya setelah boot, itu tergantung pada rasa Unix / Linux Anda;/etc/rc.local
,/etc/rc.d/
atau/etc/init.d/
--monitor
saklar (dan menyalurkan output ke loop Anda sebagai gantinya), jika tidak, ada banyak overhead ketikainotifywait
dimulai berulang-ulangSebenarnya, jika seseorang menjatuhkan file dan menghapusnya dengan sangat cepat, Anda mungkin melewatkannya. Penggunaan inotify (di Linux, atau fitur serupa di bawah kesatuan lainnya) membuat jendela risiko kecil.
Jika Anda dapat me-mount sistem file pilihan Anda pada direktori itu (saya menyadari ini mungkin bukan pilihan), Anda dapat menempatkan yang mencatat semua versi file, misalnya copyfs .
sumber
Coba
entr
alat baris perintah yang dapat menjalankan perintah sewenang-wenang ketika file berubah. Sejak rilis 2.9, opsi arloji direktori (-d
) ditambahkan untuk bereaksi terhadap peristiwa ketika file baru ditambahkan ke direktori.Contoh untuk menjalankan utilitas jika file baru ditambahkan ke proyek:
Satu-satunya implikasi dari ini adalah bahwa jika file baru muncul, ia harus keluar untuk memungkinkan loop shell eksternal untuk memindai ulang sistem file.
Berikut adalah versi tanpa opsi arloji direktori:
Ini adalah contoh sederhana tergantung pada kebutuhan Anda:
Periksa: situs web entrproject.org untuk lebih jelasnya.
sumber
Program yang Anda cari adalah
inotify
.sumber