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 mvoperaciones.
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$SOURCEdirectorio en un$TARGETdirectorio como este:SOURCE='abs_path_to_backup'; TARGET='.'; rsync -a --link-dest=$(relpath $TARGET $SOURCE) $SOURCE/ $TARGET/Lo que quieres es "cp -al":
rsync -afuente
cp -allamentablemente no está disponible en mi sistema (Mac OS X 10.6). Usaré pax en su lugar ...La
--link-destopción enrsynces relativa al directorio de destino , no al directorio actual. Entonces, lo que quieres es:fuente
--link-destopció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
rsynccon otras herramientas. La respuesta correcta pararsynces Steven Monai de, pero la forma más sencilla de hacerlo es utilizar cualquieracp -alopax -rwlen sistemas donde-lno 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
paxcomo 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