Agregaría un comentario a la publicación de @Steve Kehlet pero necesito 50 repeticiones (RIP).
Para cualquiera que haya encontrado esta publicación a través de numerosas búsquedas en Google, encontré una manera no solo de encontrar archivos específicos dado un rango de tiempo, sino también de NO incluir las rutas relativas O los espacios en blanco que causarían errores de tarificación. (MUCHAS GRACIAS STEVE.)
find . -name "*.pdf" -type f -mtime 0 -printf "%f\0" | tar -czvf /dir/zip.tar.gz --null -T -
.
directorio relativo
-name "*.pdf"
busque archivos PDF (o cualquier tipo de archivo)
-type f
tipo para buscar es un archivo
-mtime 0
buscar archivos creados en las últimas 24 horas
-printf "%f\0"
Regular -print0
O -printf "%f"
NO funcionó para mí. De las páginas man:
Esta cita se realiza de la misma forma que para GNU ls. Este no es el mismo mecanismo de cotización que el utilizado para -ls y -fls. Si puede decidir qué formato utilizar para la salida de búsqueda, normalmente es mejor utilizar '\ 0' como terminador que utilizar una nueva línea, ya que los nombres de archivo pueden contener espacios en blanco y caracteres de nueva línea.
-czvf
crear archivo, filtrar el archivo a través de gzip, enumerar detalladamente los archivos procesados, nombre del archivo
Editar 2019-08-14: Me gustaría agregar que también pude usar esencialmente el mismo comando en mi comentario, solo usando tar en sí:
tar -czvf /archiveDir/test.tar.gz --newer-mtime=0 --ignore-failed-read *.pdf
Necesario --ignore-failed-read
en caso de que no haya nuevos PDF para hoy.
find ... | xargs ...
es utilizar el / -0 parámetro en cada -print0:find -print0 ... | xargs -0 ...
. Esto hará que los nombres de archivo estén separados por un carácter nulo, lo que significa que puede tener espacios o nuevas líneas u otras cosas raras en sus nombres de archivo y seguirá funcionando.