Apakah ada cara untuk menyinkronkan hanya satu partisi?

17

Apakah ada cara untuk menyinkronkan hanya satu partisi daripada semua partisi?

Sesuatu seperti "sinkronisasi / dev / sdc1".

HandyGandy
sumber
1
Tidak. Sejauh yang saya ketahui. Pertanyaan yang bagus.
Nikhil Mulley

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.

Michał Šrajer
sumber
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.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
1
Kalimat terakhir tentang syncfsadalah bagian yang paling relevan.
poolie
3

Memasang partisi dengan syncopsi dapat menjadi solusi.

llua
sumber
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.

Tim Kennedy
sumber
0

Jika btrfs:

btrfs filesystem sync /path/under/mountpoint
Tom Hale
sumber