Czy istnieje sposób synchronizacji tylko jednej partycji zamiast wszystkich partycji?
Coś w stylu „sync / dev / sdc1”.
Czy istnieje sposób synchronizacji tylko jednej partycji zamiast wszystkich partycji?
Coś w stylu „sync / dev / sdc1”.
Odpowiedzi:
możesz ponownie zamontować za pomocą opcji synchronizacji, a następnie ponownie zamontować za pomocą asynchronizacji:
mount -o remount,sync /mountpoint
mount -o remount,async /mountpoint
Użycie opcji remount nie spowoduje bałaganu w procesach korzystających z zamontowanego systemu plików.
Jest to standardowa funkcja Synchronizacja danych (metadane) i jednego pliku: fsync
. Nie ma standardowego ani wspólnego polecenia powłoki, aby uzyskać do niego dostęp, ale możesz użyć sync
metody perla w IO::Handle
:
perl -MIO::File -e 'new IO::File($ARGV[0], "r+")->sync()' filename
Nie ma standardowej lub wspólnej funkcji ani polecenia powłoki do synchronizacji tylko jednej partycji.
W najnowszych systemach Linux istnieje syncfs
wywołanie systemowe (wprowadzone w jądrze 2.6.39 i ujawnione od wersji 2.14 glibc ). Nie sądzę, aby to wywołanie systemowe było jeszcze widoczne w coreutils lub util-linux.
syncfs
jest najbardziej istotną częścią.
Jeśli masz na myśli sync
narzędzie, które opróżnia dane z pamięci na dysk, odpowiedź brzmi: nie. Wynika to z faktu, że sync
zwykle jest używany podczas procedury zamykania lub ponownego uruchamiania, w której wskazane jest bezpieczne zapisywanie danych na dysku, a prawdziwym celem operacji jest pamięć, a nie dyski, i zbieranie buforowanych danych z pamięci RAM w bezpieczne miejsce. Dyski są dokładnie tam, gdzie kończą się dane.