Mencoba cron
. Ini adalah alat yang menjalankan perintah pada waktu atau interval tertentu. Mungkin tidak persis apa yang Anda cari (clone on build) tetapi itu bekerja dengan cukup baik.
Untuk mengatur cron: dari Terminal, ketik crontab -e
.
Ini akan memunculkan editor teks (tergantung pada editor teks mana yang Anda tetapkan sebagai default) dan header yang bagus menjelaskan apa yang dilakukan setiap bidang.
minute, hour: does as it says
dom: day of month
mon: month
dow: day of week
Sekarang, kita akan melihat perintah Anda untuk melakukan backup secara teratur. Alat hebat untuk cadangan adalah rsync. Anda harus mengatur kunci SSH agar berfungsi tanpa prompt kata sandi.
Inilah perintah yang saya gunakan:
rsync -vzhaPE --delete-after /path/to/local/file ip.address.of.server:/path/to/backup/location
Opsi yang digunakan: -vzhaPE
v: verbose
z: compress (good for slow connections. Adjust compression level with --compress-level=<1-9>)
h: human readable numbers
a: archive mode. This preserves timestamps and practically clones everything over as it were.
P: progress bar.
E: keep partial files. This means that if the connection was interrupted, rsync will pick up on the partial files and continue where it left off. Good for copying multiple large files over a slow network.
delete-after: deletes files from the server that have been deleting from the sending side
Opsi v, h dan P lebih untuk debugging manusia, jadi kami tidak akan memperkenalkannya ke dalam tugas cron kami.
Jadi, untuk menyatukannya di cron:
(berjalan setiap sepuluh menit, misalnya)
*/10 * * * * rsync -zaE --delete-after /path/to/local/file ip.address.of.server:/path/to/backup/location
Perintah ini akan mengembalikan file apa pun di dalam direktori yang ditentukan ke direktori server yang ditentukan setiap sepuluh menit . Tidak ada duplikat akan dibuat karena rsync akan menghapus file yang disalinnya.
Selain itu, jika Anda mau, Anda juga dapat menjalankan skrip yang memindahkan cadangan yang disalin ke folder lain jika Anda tertarik dengan fungsionalitas versi seperti Time Machine. Anda akan memerlukan ruang penyimpanan yang cukup, dan beberapa perubahan kecil pada perintah cadangan (rsync push to rsync pull). Jika ini yang Anda cari, beri tahu saya dan saya akan mengembangkannya.