Tenho uma câmera IP que grava vídeos em uma estrutura de pastas como esta:
├── 2023
│ ├── 10
│ ├── 11
│ │ ├── cam_00_20240921153706.mp4
│ │ ├── cam_00_20240921153928.mp4
│ │ ├── cam_00_20240921164743.mp4
│ │ └── cam_00_20240921230558.mp4
│ └── 12
└── 2024
├── 08
└── 09
├── 21
│ ├── cam_00_20240921153706.mp4
│ ├── cam_00_20240921153928.mp4
│ ├── cam_00_20240921164743.mp4
│ ├── cam_00_20240921230558.mp4
│ └── cam_00_20240921230646.mp4
└── 22
├── cam_00_20240922101839.mp4
└── cam_00_20240922102150.mp4
Agora eu gostaria de apagar todos os arquivos com mais de 2 dias, e todas as pastas vazias. Para fazer isso, eu fiz
#delete files older than 2 days
find /recordings/????/??/?? -depth -type d -mtime +2 -exec rm -rf {} \;
#delete empty month dir
find /recordings/????/?? -depth -empty -type d -mtime +2 -exec rm -rf {} \;
#delete empty year dir
find /recordings/???? -depth -empty -type d -mtime +2 -exec rm -rf {} \;
Isso pode ser feito com uma frase de efeito? Ou de uma forma mais legal?