Pausando a exclusão de diretórios se a carga estiver alta

1

Eu tenho uma lista de diretórios que gostaria de excluir. No entanto, quando eu faço todos eles ao mesmo tempo, carregue picos na caixa. Alguém tem um exemplo de um script que esperaria até que a carga estivesse abaixo de um determinado nível antes de prosseguir com a exclusão (interação do loop)

    
por ckliborn 27.09.2012 / 23:37

2 respostas

2

Melhor ainda, use ionice .

ionice -c3 ./deletion-script

Isso fará com que seu comando delete seja executado apenas quando o disco IO estiver livre, por isso ele terá a prioridade mais baixa. Cyberciti tem um pequeno artigo sobre todas as variantes que você tem e como usá-los.

    
por 27.09.2012 / 23:39
2

ionice é provavelmente a melhor / mais simples solução, mas está realmente atrasando a carga média prolongada inevitável e potencialmente apenas média versus uma carga curta de carga alta.

Existe uma boa descrição aqui link em um sistema controlado abordagem.

Alterar o programador io, remover diários, atime e diratime também são fatores contributivos. Há também um binário de exclusão diferente fastrm , você pode encontrar o homem aqui link

Não tente isso em casa

Há algum tempo, estávamos testando métodos de exclusão mais rápidos para exclusão de terabytes de dados. No final, foi mais rápido iniciar um rm ou mv e interromper o processo com ^c . Em seguida, reinicie a máquina com um fsck forçado - que, então, limparia os inodes e liberaria o espaço subseqüente no sistema de arquivos.

Funcionou surpreendentemente bem e muito mais rápido que uma exclusão tradicional - mas nunca faria isso em um sistema de produção. Sempre.

    
por 27.09.2012 / 23:47