Como monitorar o espaço livre e excluir automaticamente os arquivos mais antigos no Linux?

2

Eu tenho um aplicativo que grava continuamente arquivos em disco em alta velocidade. Cada arquivo é modesto em tamanho (menos de 10 MB ou mais), mas eles são criados a cada 1-2 segundos abaixo de um diretório pai especificado, digamos, /data/ . Esse diretório pode se parecer com:

/data
    /data/subdir1
         /data/subdir1/file1
         /data/subdir1/file2
         /data/subdir1/file3
    /data/subdir2
         /data/subdir2/file1
         /data/subdir2/file2
         /data/subdir3/file3
    ...and so on

Os subdiretórios são criados em tempo real pelo aplicativo também. Como os arquivos são gravados continuamente sem parar, a partição que hospeda /data será preenchida. Quando isso ocorrer, preciso remover continuamente o conteúdo de /data para garantir que haja espaço para a gravação de novos arquivos.

Existe uma ferramenta / biblioteca de software que pode ser usada para essa tarefa? Idealmente, gostaria de ter algum controle personalizado sobre quais critérios são usados para determinar quais arquivos são excluídos (talvez aplicando prioridade a determinados subdiretórios em relação a outros), mas como um primeiro corte bastaria apenas excluir os arquivos mais antigos abaixo de /data até o disco o espaço livre atinge um limite mínimo seguro. Presumo que essa rotina de limpeza seja executada periodicamente, seja como algum tipo de serviço ou via crontab.

    
por Jason R 30.07.2014 / 22:25

0 respostas