하나의 파티션 만 동기화하는 방법이 있습니까?


답변:


10

sync 옵션으로 다시 마운트 한 다음 async로 다시 마운트 할 수 있습니다.

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

다시 마운트 옵션을 사용하면 다시 마운트 된 파일 시스템을 사용하는 프로세스를 망칠 수 없습니다.


2
왜 2 개의 재 장착이 필요하다고 생각하십니까? 적어도 2.6.32 커널에서 do_remount_sb는 lwn.net/Articles/433384에 도입 된 syncfs 시스템 호출에서 호출되는 것과 동일한 기능인 sync_filesystem을 수행합니다 .
Yuriy Nazarov

5

한 파일의 데이터 (및 메타 데이터)를 동기화하는 표준 기능이 있습니다 fsync. 액세스 할 표준 또는 공통 쉘 명령은 없지만 다음 sync에서 perl의 메소드를 사용할 수 있습니다 IO::Handle.

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

하나의 파티션 만 동기화하는 표준 또는 공통 기능 또는 쉘 명령이 없습니다.

최근의 리눅스 시스템 은이 syncfs시스템 호출 (커널 2.6.39에서 도입하고 있기 때문에 노출 의 glibc 2.14 ). 이 시스템 호출이 coreutils 또는 util-linux에 아직 노출되지 않았다고 생각합니다.


1
마지막 문장은 syncfs가장 관련성이 높은 부분입니다.
poolie

3

sync옵션으로 파티션을 마운트하는 것이 해결책 일 수 있습니다.


2

sync메모리의 데이터를 디스크로 플러시 하는 유틸리티 를 의미한다면 대답은 아니오입니다. 이는 sync일반적으로 데이터를 디스크에 안전하게 기록하는 것이 바람직하고 작업의 실제 대상은 디스크가 아닌 메모리이며 RAM에서 버퍼링 된 데이터를 가져 오는 것이 좋습니다. 안전한 곳으로 디스크는 데이터가 끝나는 곳에 있습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.