tudo que você precisa fazer é adicionar a opção global -mindepth assim:
$ find /var/log/airflow/ -mindepth 2 -type f -mtime +10 -delete
Gostaria de excluir todos os arquivos com mais de 10 dias das subpastas de fluxo de ar
Eu usei o seguinte comando:
find /var/log/airflow/ -type f -mtime +10 -delete
mas excluindo todos os arquivos que existem na pasta de fluxo de ar como: arquivo1, arquivo2, arquivo3, arquivo4, arquivo5
pwd
/var/log/airflow
ls -ltr
drwxr-xr-x 2 root root 6 Sep 13 11:15 folder1
drwxr-xr-x 2 root root 6 Sep 13 11:15 folder2
drwxr-xr-x 2 root root 6 Sep 13 11:15 folder3
drwxr-xr-x 2 root root 6 Sep 13 11:15 folder4
drwxr-xr-x 2 root root 6 Sep 13 11:15 folder5
-rw-r--r-- 1 root root 0 Sep 13 11:15 file1
-rw-r--r-- 1 root root 0 Sep 13 11:15 file2
-rw-r--r-- 1 root root 0 Sep 13 11:15 file3
-rw-r--r-- 1 root root 0 Sep 13 11:15 file4
-rw-r--r-- 1 root root 0 Sep 13 11:15 file5
para que todas as subpastas sob fluxo de ar com seus arquivos sejam apagadas, mas não os arquivos sob fluxo de ar. Nesse caso, como posso alterar meu comando para suportar o excludente.
Para informar find
para procurar apenas em subpastas de / var / log / airflow, forneça os seguintes pontos:
shopt -s dotglob
find /var/log/airflow/*/* -type f -mtime +10 -delete
Isso força a existência de um subdiretório em / var / log / airflow para corresponder. Eu defino dotglob
para que todos os diretórios "ocultos" no fluxo de ar também sejam correspondidos.