Apakah ada cara untuk menyinkronkan hanya satu partisi?


Jawaban:


10

Anda dapat mengirim ulang dengan opsi sinkronisasi dan kemudian mengirim kembali kembali dengan async:

mount -o remount,sync /mountpoint
mount -o remount,async /mountpoint

Menggunakan opsi remount tidak akan mengacaukan proses yang menggunakan sistem file remount.


2
Menurut Anda mengapa 2 remount diperlukan? Paling tidak pada kernel 2.6.32 do_remount_sb melakukan sync_filesystem yang merupakan fungsi yang sama yang disebut dalam system call syncfs yang diperkenalkan di lwn.net/Articles/433384 .
Yuriy Nazarov

5

Ada fungsi standar data sinkronisasi (dan metadata) dari satu file: fsync. Tidak ada perintah shell standar atau umum untuk mengaksesnya, tetapi Anda dapat menggunakan syncmetode perl di IO::Handle:

perl -MIO::File -e 'new IO::File($ARGV[0], "r+")->sync()' filename

Tidak ada fungsi standar atau umum atau perintah shell untuk menyinkronkan hanya satu partisi.

Pada sistem Linux baru-baru ini , ada syncfssystem call (diperkenalkan di kernel 2.6.39, dan diekspos sejak glibc 2.14 ). Saya tidak berpikir system call ini terekspos di coreutils atau util-linux.


1
Kalimat terakhir tentang syncfsadalah bagian yang paling relevan.
poolie

3

Memasang partisi dengan syncopsi dapat menjadi solusi.


2

Jika maksud Anda syncutilitas yang menggelontorkan data dalam memori ke disk, maka jawabannya adalah tidak. Hal ini disebabkan oleh fakta yang syncumumnya digunakan selama prosedur shutdown atau reboot, di mana disarankan untuk mendapatkan data yang ditulis dengan aman ke disk, dan target sebenarnya dari operasi adalah memori, bukan disk, dan mendapatkan data buffered dari RAM ke tempat yang aman. Disk hanya tempat data berakhir.


0

Jika btrfs:

btrfs filesystem sync /path/under/mountpoint
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.