De vez en cuando, tengo que realizar varios cambios importantes de migración en los archivos de datos en mi servidor, y estoy buscando una buena manera de hacerlo. Estaba pensando en usar rsync para duplicar la estructura de mi directorio comenzando en la carpeta de datos raíz, creando enlaces duros a todos los archivos originales (algunos de ellos son bastante grandes), y puedo sobrescribir en el árbol de destino solo los archivos que necesitan migrar. Al final, puedo cambiar con seguridad de los archivos antiguos a los nuevos con dos mv
operaciones.
Sin embargo, parece que no puedo obtener rsync para hacer esto. Lo intenté
rsync -a --link-dest=$DATA $DATA $DATA/../upgrade_tmp
pero en lugar de crear enlaces duros a archivos, rsync los copia por completo. ¿Hay algún problema al usar el mismo directorio fuente y link-dest?
ls -ilah
$SOURCE
directorio en un$TARGET
directorio como este:SOURCE='abs_path_to_backup'; TARGET='.'; rsync -a --link-dest=$(relpath $TARGET $SOURCE) $SOURCE/ $TARGET/
Lo que quieres es "cp -al":
rsync -a
fuente
cp -al
lamentablemente no está disponible en mi sistema (Mac OS X 10.6). Usaré pax en su lugar ...La
--link-dest
opción enrsync
es relativa al directorio de destino , no al directorio actual. Entonces, lo que quieres es:fuente
--link-dest
opción, si es relativa , es relativa al directorio de destino. En mi caso es absoluto. Incluso hacerlo relativo al directorio de destino no hace que esto funcione.Resulta que es más difícil hacer esto
rsync
con otras herramientas. La respuesta correcta pararsync
es Steven Monai de, pero la forma más sencilla de hacerlo es utilizar cualquieracp -al
opax -rwl
en sistemas donde-l
no es una opción válida paracp
:o
fuente
Esto funciona para mi:
Yo uso rsync versión 3.1.0.
Del hombre :
fuente
Puede intentar seguir el enlace http://www.lessfs.com/wordpress/ es trabajar en COW (copiar al escribir) que ahorrará tiempo y espacio
fuente
Primero cree los directorios solo en el destino:
Luego enlace duro solo los archivos:
fuente
pax
como se muestra en mi comentario anterior, lo que parece más fácil.Use la Opción -H para preservar los enlaces duros y leer la página de manual.
fuente