Existe uma maneira de sincronizar apenas uma partição?

17

Existe uma maneira de sincronizar apenas uma partição em vez de todas as partições?

Algo como "sync / dev / sdc1".

    
por HandyGandy 07.01.2012 / 20:20

5 respostas

10

você pode remontar com a opção de sincronização e, em seguida, remontá-lo novamente com async:

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

O uso da opção de remontagem não irá mexer nos processos usando o sistema de arquivos remontado.

    
por 08.01.2012 / 01:15
5

Existe uma função padrão para sincronizar dados (e metadados) de um arquivo: fsync . Não há um comando shell comum ou padrão para acessá-lo, mas você pode usar o método sync do perl em IO::Handle :

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

Não existe uma função padrão ou comum ou comando shell para sincronizar apenas uma partição.

Nos sistemas Linux recentes , existe o syncfs chamada de sistema (introduzida no kernel 2.6.39, e exposta desde glibc 2.14 ). Eu não acho que esta chamada de sistema está exposta no coreutils ou no util-linux ainda.

    
por 08.01.2012 / 00:59
3

Montar a partição com a opção sync pode ser uma solução.

    
por 07.01.2012 / 21:51
2

Se você quer dizer o utilitário sync que libera dados na memória para o disco, a resposta é não. Isso se deve ao fato de que sync é geralmente usado durante um procedimento de desligamento ou reinicialização, em que é aconselhável gravar dados gravados em disco com segurança, e o destino real da operação é a memória, não os discos e a obtenção desses dados em buffer fora da RAM para algum lugar seguro. Os discos são exatamente onde os dados acabam.

    
por 07.01.2012 / 20:36
0

Se btrfs:

btrfs filesystem sync /path/under/mountpoint
    
por 23.11.2017 / 06:48