-mtime es un predicado estándar de find (al contrario de -delete ) pero parece que tienes una versión simplificada de busybox , donde el FEATURE_FIND_MTIME la función se ha deshabilitado en el momento de la compilación.
Si puede reconstruir el cuadro ocupado con él habilitado, debería poder hacer:
find . -mtime +6 -type f -exec rm -f {} +
O si FEATURE_FIND_DELETE también está habilitado:
find . -mtime +6 -type f -delete
Si no, otras opciones podrían ser usar find -newer (asumiendo FEATURE_FIND_NEWER está habilitado) en un archivo que está configurado para tener un tiempo de modificación de una semana.
touch -d "@$(($(date +%s) - 7 * 86400))" ../ref &&
find . ! -type f -newer ../ref -exec rm -f {} +
O si -newer no está disponible pero sh [ de admite -nt :
touch -d "@$(($(date +%s) - 7 * 86400))" ../ref &&
find . ! -type f -exec sh -c '
for f do
[ "$f" -nt ../ref ] || printf "%s\0" "$f"
done' sh {} + |
xargs -0 rm -f
Desde man find :
-ahora n
Se accedió al archivo por última vez hace n*24 horas. Cuando find calcula cuántos períodos de 24 horas atrás se accedió al archivo por última vez, se ignora cualquier parte fraccionaria, por lo que para que coincida con -atime +1, se debe haber accedido a un archivo hace al menos dos días.
-ctiempo n
El estado del archivo se modificó por última vez hace n*24 horas. Consulte los comentarios de -atime para comprender cómo afecta el redondeo a la interpretación de las horas de cambio de estado del archivo.
Dependiendo de los casos de uso de los archivos que desea eliminar, estas son sus únicas otras opciones para find . ¿Por qué es mtime ¿no disponible? ¿Qué sistema de archivos estás usando? ¿Exploraste otras opciones?