Menggunakan rsync pada WSL (Bash untuk Windows 10) untuk cadangan tambahan

4

Saya adalah pengguna setia Linux selama bertahun-tahun tetapi beralih ke Windows. Satu hal yang selalu saya lewatkan adalah menggunakan rsync untuk membuat snapshot tambahan untuk keperluan cadangan. Anda menggunakan perintah seperti ini:

rsync -aP --link-dest=PATHTO/$PREVIOUSBACKUP $SOURCE $CURRENTBACKUP

dan itu akan membuat struktur direktori lengkap dari keadaan saat ini dari folder yang Anda buat cadangannya, menggunakan tautan keras untuk referensi cadangan sebelumnya. Hanya file baru atau yang diubah yang ditulis ke disk; semua yang lain disimpan sebagai tautan keras. Ini sangat luar biasa, dan tidak ada solusi yang saya temukan di Windows yang dapat melakukan ini. (Sebagai referensi, saya sudah mencoba Windows File History, dan membayar uang untuk perangkat lunak komersial termasuk Crashplan dan Beyond Compare yang brilian .)

Sekarang setelah Microsoft memperkenalkan WSL, saya telah mencoba melakukan ini di bash untuk Windows. Tampaknya telah bekerja dengan sempurna, tetapi Windows melaporkan ukuran pada disk salah, seperti yang ditunjukkan di sini:

Ukuran pada disk dilaporkan secara tidak benar

Untuk menjelaskan, dalam satu shapshot snapshot-170831__07h08m48ssaya menambahkan file video besar, 1,40 GB, yang membutuhkan beberapa detik untuk menyalin. Pada shapshot berikutnya, snapshot-170831__07h09m09sfile tidak mengambil waktu untuk menyalin, yang menunjukkan bahwa tautan keras dibuat dengan benar dan tidak ada ruang yang digunakan pada hard drive saya.

Namun semua alat Windows saya (Windows Explorer, Direktori Opus, WinDirStat) melaporkan bahwa folder snapshot kedua memakan 1,40 GB pada disk.

Pertanyaan pertama kemudian adalah mengapa Windows salah melaporkan ukuran pada disk untuk tautan keras ini?

Tetapi pertanyaan yang lebih penting adalah apakah saya harus melakukan ini : menggunakan alat Linux di bawah Windows untuk cadangan file biasa saya. Saya sudah melihat di WSL bahwa memodifikasi file seperti .bashrc menggunakan alat Windows akan membuat file tidak dapat dibaca di dalam WSL. Saya bertanya-tanya apakah terlalu berisiko untuk memercayai cadangan saya ke alat seperti ini, atau apakah saya berisiko merusak sistem file dan kehilangan file penting.

Kit Johnson
sumber

Jawaban:

4

Menghitung ukuran tautan keras di Windows

Sulit untuk menghitung ukuran file yang ditautkan di Windows. Salah satu alat yang memungkinkan Anda melakukan ini adalah TreeSize Professional (tidak gratis, analisis tautan keras dimatikan secara default). Saya menggunakan alat ini dan memperkirakan dengan benar ukuran file yang ditautkan.

Untuk diskusi yang lebih menyeluruh, lihat Bagaimana cara memeriksa ukuran aktual yang digunakan dalam direktori NTFS dengan banyak hardlink?

Apakah file sebenarnya berfungsi?

Adapun bagian lain dari pertanyaan, apakah berisiko untuk membuat cadangan file menggunakan alat Linux di bawah Windows pada WSL? Saya memutuskan untuk menguji ini hanya dengan menyalin salah satu direktori snapshot ke hard drive eksternal yang terpisah. Tidak ada masalah menyalin file, atau membacanya dari drive eksternal. Dengan kata lain, tautan keras tersebut berperilaku tepat seperti yang diharapkan , dan file-file tersebut berfungsi.

Stabilitas data jangka panjang

Jadi sampai ke titik akhir, dapat menggunakan alat Linux di bawah WSL sebagai bagian dari cadangan reguler saya memecahkan sesuatu, seperti merusak sistem file? Apakah saya percaya WSL untuk tidak merusak hal-hal besar? Apa pun dapat rusak kapan saja, jadi saya akan memastikan direktori snapshot ini disalin secara berkala ke drive yang terpisah.

Kit Johnson
sumber
1
Saya juga telah menggunakan rsync dengan tautan keras di Windows selama beberapa tahun dan sepertinya berhasil. Satu-satunya masalah yang saya miliki adalah dengan izin file yang tampaknya kacau, tapi itu bisa jadi karena saya menggunakan Cygwin.
laurent
1
Saya telah menggunakan sistem ini selama dua tahun sekarang dan tidak memiliki masalah dengan tautan keras.
Kit Johnson