ramdisk, como limpar todos os arquivos x min mais antigos que X min

0

Para configurar uma tarefa cron para limpar arquivos de cache desatualizados com mais de 8 minutos de uso a cada 10 minutos no disco, é uma tarefa fácil.

# crontab -e
*/10 * * * * root find /tmp/diskcache -type f -mmin +8 -delete 2>/dev/null

O problema é se eu quiser mover diskcache para tmpfs. Minha idéia com tmpfs (caso contrário tmpfs comer meia ram de padrão) é:

/etc/fstab
tmpfs   /dev/diskcache     tmpfs   nodev,nosuid,size=2G      0  0

O novo comando será (correto?):

# crontab -e
*/10 * * * * root find /dev/diskcache -type f -mmin +8 -delete 2>/dev null

É a melhor abordagem agora? E o mais importante, está correto? Obrigado :)

Filesystem        1K-blocks   Used Available Use% Mounted on
/dev/ploop39151p9  41151808 634408  38420352   2% /
devtmpfs            3145728      0   3145728   0% /dev
tmpfs               3145728      0   3145728   0% /dev/shm
tmpfs               3145728     32   3145696   1% /run
tmpfs               3145728      0   3145728   0% /sys/fs/cgroup
    
por Matteus 05.02.2017 / 22:03

1 resposta

0

Funcionaria.

No entanto, o diretório / dev é normalmente destinado a arquivos de dispositivos. Se você não quiser que o / tmp seja um tmpfs, apenas o diretório "diskcache", você pode montar um tmpfs em / tmp / diskcache.

Uma alternativa para um cronjob a cada dez minutos pode ser configurar um observador do sistema de arquivos para aquele diretório que gera um processo para cada arquivo criado que dorme por 8 minutos e depois remove esse arquivo. Assim:

inotifywait -m -e create --format %f /tmp/diskcache | while read newfile; do ( sleep $((8*60)) && rm -f "${newfile}" )& done

HTH

    
por 05.02.2017 / 22:40