¿Es posible, solo rsync los nombres de archivo? Tengo un cuadro de almacenamiento y quiero agregar los nombres de archivo (y sus rutas) a otro cuadro. Actualmente estoy creando cada archivo con touch
(se crearán con un tamaño de 0 bytes). Lleva demasiado tiempo y me preguntaba si esto podría automatizarse rsync
.
Si no, ¿hay alguna otra herramienta que permita esto? ¿O necesitaría codificar algo personalizado?
find . -type d > direcotries
find . -type f > files
y en remotocat direcotries | xargs -I this mkdir this
cat files | xargs -I this touch this
.iso
, necesarios para el panel de control de SolusVM en el maestro. Sin embargo, quiero un repositorio central para los ISO, que luego se reenviará a todos los nodos mientras que el maestro solo tiene archivos vacíos (necesarios para que el panel de control funcione).Respuestas:
Si su objetivo es crear archivos empy, entonces se puede crear una plantilla de esta manera:
Esto crea el directorio de cada archivo del árbol original y toca los archivos en las carpetas creadas bajo TMPL.
Después de crear una carpeta "duplicada" con solo archivos vacíos, se puede enviar a cualquier host como cualquier otra carpeta:
La opción -e es opcional si el nombre de usuario es el mismo en ambos hosts y si sshd se ejecuta en el puerto predeterminado. Preste atención a lo que sucede cuando especifica una barra inclinada final en ambas o en las partes desde y hacia. Es significativo. El parámetro de host remoto puede ser una dirección IP en lugar de un alias.
fuente
find "$FILES" -type l -printf "ln -s %l $TMPL%p\0" | xargs -0 -L 1000 sh -c
rsync
en sí mismo no parece tener una opción para crear solo archivos. Sin embargo, puede probar varias formas en lugar de usar el tacto manualmente:find
en la raíz de ese árbol yecho "" >
en cada archivofind
para obtener una lista de árboles de directorios, luegomkdir -p
úselo en cada elemento de esa lista (posiblemente ordenando de manera inversa de antemano para minimizar el número de llamadas al sistema) y luego úselotouch
en una lista de archivos creada de manera similar.Sin embargo, elegiría la primera opción si el espacio está disponible, ya que conserva los permisos y los derechos de acceso (dados los argumentos apropiados para
rsync
).fuente