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".

HandyGandy
fonte
1
Não. Tanto quanto eu sei. Boa pergunta, no entanto.
precisa saber é o seguinte

Respostas:

10

você pode remontar com a opção sync e remontar novamente com async:

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

Usar a opção remontar não interferirá nos processos que usam o sistema de arquivos remontado.

Michał Šrajer
fonte
2
Por que você acha que são necessários dois remounts? Em pelo menos 2.6.32, o kernel do_remount_sb executa o sync_filesystem, que é a mesma função chamada na chamada do sistema syncfs introduzida em lwn.net/Articles/433384 .
Yuriy Nazarov 01/01
5

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

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

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

Nos sistemas Linux recentes , existe a syncfschamada do sistema (introduzida no kernel 2.6.39 e exposta desde o glibc 2.14 ). Eu não acho que essa chamada de sistema esteja exposta no coreutils ou no util-linux ainda.

Gilles 'SO- parar de ser mau'
fonte
1
A última frase sobre syncfsé a parte mais relevante.
poolieby
3

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

llua
fonte
2

Se você quer dizer o syncutilitário que libera dados da memória para o disco, a resposta é não. Isso se deve ao fato de que syncgeralmente é usado durante um procedimento de desligamento ou reinicialização, onde é aconselhável obter dados gravados com segurança no disco, e o objetivo real da operação é a memória, não os discos, e a retirada desses dados em buffer da RAM para algum lugar seguro. Os discos são exatamente onde os dados terminam.

Tim Kennedy
fonte
0

Se btrfs:

btrfs filesystem sync /path/under/mountpoint
Tom Hale
fonte