Gibt es eine Möglichkeit, nur eine Partition anstelle aller Partitionen zu synchronisieren?
So etwas wie "sync / dev / sdc1".
Gibt es eine Möglichkeit, nur eine Partition anstelle aller Partitionen zu synchronisieren?
So etwas wie "sync / dev / sdc1".
Antworten:
Sie können mit der Synchronisierungsoption erneut einhängen und diese dann mit async erneut einhängen:
mount -o remount,sync /mountpoint
mount -o remount,async /mountpoint
Die Verwendung der Remount-Option führt nicht zu Problemen mit Prozessen, die ein remountetes Dateisystem verwenden.
Es ist eine Standardfunktion zu synchronisieren Daten (und Metadaten) einer Datei: fsync
. Es gibt keinen Standard- oder allgemeinen Shell-Befehl, um darauf zuzugreifen, aber Sie können die Perl- sync
Methode verwenden in IO::Handle
:
perl -MIO::File -e 'new IO::File($ARGV[0], "r+")->sync()' filename
Es gibt keine Standard- oder allgemeine Funktion oder keinen Shell-Befehl, um nur eine Partition zu synchronisieren.
Auf neueren Linux-Systemen gibt es den syncfs
Systemaufruf (eingeführt in Kernel 2.6.39 und verfügbar seit Glibc 2.14 ). Ich glaube nicht, dass dieser Systemaufruf in coreutils oder util-linux verfügbar ist.
syncfs
ist der relevanteste Teil.
Wenn Sie das sync
Dienstprogramm meinen, das Daten aus dem Speicher auf die Festplatte schreibt, lautet die Antwort nein. Dies liegt an der Tatsache, dass sync
normalerweise während eines Herunterfahrens oder Neustarts Daten sicher auf die Festplatte geschrieben werden sollen. Das eigentliche Ziel des Vorgangs ist der Arbeitsspeicher, nicht die Festplatten, und das Abrufen dieser gepufferten Daten aus dem RAM an einen sicheren Ort. Auf den Festplatten landen die Daten.