Usando Xargs para copiar los ficheros .conf de todo el sistema

xargs_teeHoy necesitaba hacer una copia de todos los ficheros con la extensión .conf de un sistema para después comprimirlos y mantener una copia de dichos ficheros por seguridad.

Para ello quería usar el comando Xargs que trae todos los linux y es una magnifica y potente herramienta si aprendemos a usarla.

este comando tiene la siguiente sintaxis.

xargs [options][command [initial-arguments]]

Nos permite construir y ejecutar comandos desde la entrada estándar,

Así, si por ejemplo queremos buscar todos los archivos de configuración que contengan la palabra  «eth0» (por ejemplo para buscar la configuración de dicha interfaz) basta con la siguiente orden.

 

find /etc -iname "*.conf" | xargs grep "eth0"
o por ejemplo los ficheros de configuración con la palabra root.

 

find /etc -iname "*.conf" | xargs grep "root"

Pero en el caso de la orden cp, que los parametros que se le mandan deben de ser de una forma especifica deberemos usar la siguiente orden.

find / -name "*.conf" | xargs -i cp -parv {} /home/ccz/confs/

por ultimo si queremos comprimir todos estos fichero podemos desde la misma orden.

 

find / -name "*.conf" | xargs -i cp -parv {} /home/ccz/confs/ ||  tar -czvf confs.tar *

 

Agur!