Me gustaría ejecutar un trabajo cron nocturno que elimine todos los archivos en una carpeta a la que no se haya accedido en una semana o más. ¿Cuál es la forma más eficiente de hacer esto en bash?
shell-script
files
cron
date
leche azul
fuente
fuente
find
puede filtrar en función de atime. La "corrección" de atime depende de la configuración (vernoatime
), como mínimo.Respuestas:
Tú quieres la
find
herramienta .(Esto eliminará todos los archivos ( solo los normales , sin canalizaciones, dispositivos especiales, directorios, enlaces simbólicos) en la carpeta dada y todos los subdirectorios (recursivamente) donde el último tiempo de acceso es más largo que hace 7 días).
fuente
-type f
allí para asegurarse de que solo elimine archivos, no directorios completos.Es posible que desee verificar
tmpwatch
qué se puede poner en un trabajo cron. No hay necesidad de rodar tu propio confind
. En RHEL está en lastmpwatch
RPM.fuente
find
.