executando o fsck automatizado no servidor remoto

7

Eu tinha outra pergunta sobre o df, e agora eu cheguei a conclusão que eu preciso rodar o fsck na minha partição, eu tenho lido sobre isso e gostaria de alguns conselhos, se possível.

A situação é assim, sem acesso físico ao servidor e eu quero rodar o fsck.

pelo que eu li eu só preciso de touch /forcefsck e quando eu reiniciar ele irá executar fsck.

Minha pergunta é, em sua base, com quais argumentos o fsck será executado? Será necessária a entrada do usuário para corrigir erros, etc?

e após a execução, salvará um registro do que aconteceu?

se fosse assim, seria perfeito, de qualquer maneira, impor isso na reinicialização?

fsck -v -p /machine/disk/p1 2>&1 > fscklog.txt

Também aqui eles descrevem isso:

it's also a good idea on debian and debian-derivatives like ubuntu to edit /etc/default/rcS on remote servers and set "FSCKFIX=yes" that adds "-y" to the boot time fsck, so it doesn't risk the remote server being stuck waiting for someone to login at the console and run fsck.

Mas no Centos isso parece não existir

Eu só tenho acesso ssh no momento, então é por isso que eu estou sendo tão exigente com isso.

aqui estão algumas informações sobre discos e volumes montados no servidor: link

Obrigado.

    
por GriffinHeart 15.06.2010 / 00:31

2 respostas

6

Ok, então eu descobri no CentOS que você pode fazer isso:

touch /forcefsck
echo -n "-ys" > /fsckoptions

para obter um log do que fsck eu tive que seguir em uma rota mais difícil:
Aviso: faça isso por sua conta e risco, não tenho ideia de quais implicações isso poderia ter se der errado

Editou o /etc/rc.sysinit (não esqueça de fazer backup) para obter o comportamento desejado:

da linha 500 (mudando o C para -V se livrar das barras de progresso)

if [ "$BOOTUP" = "color" ]; then
       fsckoptions="-C $fsckoptions"
else
       fsckoption="-V $fsckoptions"

da linha 648 alterou o bloco que executava o fsck para ficar assim:

outputtt="$(fsck -T -t noopts=_netdev -A $fsckoptions)"
mount -n -o remount,rw /
echo $outputtt > /var/log/fsckoutput
mount -n -o remount,ro /

um pequeno privilégio é que ele não conservará novas linhas, mas pode ser lido em tempos de extrema necessidade.
Obrigado por toda a ajuda.

    
por 15.06.2010 / 22:49
5

Você define as configurações de "autofsck" no CentOS / Redhat de maneira diferente em outras distros. Você deve editar / etc / sysconfig / autofsck com as configurações desejadas, conforme descrito neste post da lista de discussão: link

    
por 15.06.2010 / 02:13