Linux tar con coincidencias de patrones y eliminación de rutas principales: Linux, tar

Intento archivar todos los archivos .log ubicados en el directorio / var / log y al crear eliminar todas las rutas principales en los archivos.

He encontrado que puedo archivar todos los archivos .log fácilmente con:

tar -cvf ~/backup.tar /var/log/*.log

desafortunadamente, después de buscar en línea, la forma de eliminar las rutas principales es usar -C cambiar el directorio para el comando solo ahora, no reconoce el *.log y piensa * es literal

utilizando:

tar -cvf ~/backup.tar -C /var/log *.log

Me sale un error diciendo que no puedo encontrar el archivo *.log.

Imagino que mi sintaxis debe estar desactivada y he probado algunos cambios en la sintaxis sin ningún resultado.

Respuestas

-1 para la respuesta № 1

Utilizando encontrar pasar archivos a alquitrán:

find /var/log -name *.log -printf "%Pn" |
tar -C /var/log -czf backup.tar.gz -T -
  • Buscar buscará archivos * .log y printf formateará la salida para mostrar solo los nombres de archivos.
  • tar "s"-T -"dice leer los nombres de los archivos desde la entrada estándar

Menú