C'è un modo per sincronizzare solo una partizione?


Risposte:


10

puoi rimontare con l'opzione di sincronizzazione e quindi rimontarlo con asincrono:

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

L'uso dell'opzione remount non interferirà con i processi che utilizzano il filesystem rimontato.


2
Perché pensi che siano necessari 2 rimontaggi? In almeno 2.6.32 il kernel do_remount_sb esegue sync_filesystem che è la stessa funzione chiamata nella chiamata di sistema syncfs introdotta in lwn.net/Articles/433384 .
Yuriy Nazarov

5

C'è una funzione standard per i dati sincronizzare (e metadati) di un file: fsync. Non esiste un comando shell standard o comune per accedervi, ma è possibile utilizzare il syncmetodo perl in IO::Handle:

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

Non esiste una funzione standard o comune o un comando shell per sincronizzare solo una partizione.

Sui recenti sistemi Linux , c'è la syncfschiamata di sistema (introdotta nel kernel 2.6.39 ed esposta dal glibc 2.14 ). Non credo che questa chiamata di sistema sia ancora esposta in coreutils o util-linux.


1
L'ultima frase su syncfsè la parte più rilevante.
poolie

3

Montare la partizione con l' syncopzione può essere una soluzione.


2

Se intendi l' syncutilità che scarica i dati in memoria su disco, la risposta è no. Ciò è dovuto al fatto che syncviene generalmente utilizzato durante una procedura di arresto o riavvio, in cui è consigliabile ottenere dati scritti in modo sicuro su disco e il vero obiettivo dell'operazione è la memoria, non i dischi, e ottenere quei dati bufferizzati dalla RAM in un posto sicuro. I dischi sono proprio dove finiscono i dati.


0

Se btrfs:

btrfs filesystem sync /path/under/mountpoint
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.