Pode encontrar diretórios de shows com registros de data e hora contidos em diretórios?

1

Eu tenho um script para limpar arquivos e diretórios antigos em uma área de log como:

find . -mtime +${NUM_DAYS} -type d -exec rm -rf '{}' \;

No entanto, se eu executar esses dois níveis a partir dos arquivos que foram alterados, ele geralmente mostrará o diretório pai, porque o registro de data e hora não é alterado por alterações em um subdiretório

Existe uma maneira que eu possa usar o find (ou outra coisa) para que eu não tente excluir o diretório pai?

Por exemplo, se eu tiver o sistema de arquivos:

# ls -ld /var
drwxr-xr-x 24 root root 4096 Aug 16  2010 /var
# ls -ld /var/net-snmp/
drwx------ 2 root root 4096 Aug 28 15:49 /var/net-snmp/
# ls -l /var/net-snmp/
total 4
-rw------- 1 root root 1174 Aug 28 15:49 snmpd.conf

Executar meu comando de localização de / with tentará remover / var de forma recursiva, mesmo que NUM_DAYS esteja definido para que o dia 28 de agosto esteja dentro da minha escala de tempo

    
por danio 02.11.2011 / 14:32

2 respostas

1

Você pode usar a opção -mindepth:

    -mindepth levels
        Do  not  apply  any tests or actions at levels less than levels
        (a non-negative integer).  -mindepth 1 means process all files
        except the command line arguments.
    
por 02.11.2011 / 14:39
1

Assumindo o linux, eu daria uma chance ao tmpwatch.

    
por 02.11.2011 / 14:49

Tags