¿Cómo copiar archivos en AIX de un FS a otro FS?

¿Cómo copiar archivos en AIX de un FS a otro FS?

Tenemos un sistema de archivos: /foo

Y tenemos otro sistema de archivos: /bar

P:¿Cómo puedo copiar todos los archivos de/foo a/bar?

No tenemos espacio para comprimirlos, sólo para copiarlos. Pero podría haber enlaces simbólicos, enlaces duros en el sistema de archivos. ¡Así que es necesario preservar estos y el propietario, los permisos, la estructura y los archivos ocultos! ¿Cuál es la mejor manera?

extra: archivos con caracteres extraños o archivos de bloques/caracteres también

ACTUALIZAR: ¿podemos usar gzip con esto? Si es necesario copiar a través de la red, la compresión sería muy, muy útil.

Respuesta1

El comentario de Rui.es casi suficiente; esto debería copiar todo, incluidos los archivos ocultos:

cd /foo; tar cpf - . | (cd /bar; tar xpvf -)

(correr como root).

Si desea comprimir los datos que se copian entre los dos tarprocesos, puede agregar un compresor y un descompresor en la tubería:

cd /foo; tar cpf - . | gzip -9 | (cd /bar; gunzip | tar xpvf -)

Si su versión tarlo admite, puede usar la zbandera en su lugar:

cd /foo; tar cpzf - . | (cd /bar; tar xpzvf -)

(La -pbandera está habilitada de forma predeterminada rooten algunas plataformas, no estoy seguro acerca de AIX).

Respuesta2

Tar, aunque es muy versátil, no conoce muchos problemas subyacentes relacionados con los datos de inodo. Recomiendo encarecidamente una variación de

cd $src; find . | backup -if - | (cd $target; restore -xqf -)

Hace años trabajé esto en un 'script bonito', pero principalmente uso lo anterior en la línea de comando.

Para ver un guión bonito (¡de 2009! ¡eeks!), consulte:http://www.rootvg.net/content/view/301/309/

información relacionada