Buenas tardes familia,
Mi problema es el siguiente:
Necesito copiar determinados archivos X de una carpeta a otra, pero manteniendo la estructura de carpetas... me explico:
Tengo por ejemplo los archivos:
/home/alex/web/pruebas/forosdelweb/index.php
/home/alex/web/pruebas/forosdelweb/index.php~
/home/alex/web/pruebas/forosdelweb/include/fichero.php~
/home/alex/web/pruebas/forosdelweb/classes/unaclase.php~
/home/alex/web/pruebas/forosdelweb/classes/unaclase.php
/home/alex/web/pruebas/forosdelweb/prueba/index.php~
Y quiero copiar solo los archivos temporales a /backup/sincro/, pero que quede así:
/backup/sincro/home/alex/web/pruebas/forosdelweb/index.php~
/backup/sincro/home/alex/web/pruebas/forosdelweb/classes/unaclase.php~
etc...
He conseguido copiar los archivos ~ a /backup/sincro/XXXX~ con:
find -path *.*~ -exec cp \-fu '{}' /backup/sincro \;
Eso lo copia a la carpeta, pero sin la estructura de carpetas.
Pero si intento poner el path en el destino, tal que así:
find -path *.*~ -exec cp \-fu '{}' /backup/sincro'{}' \;
me sala el error:
no se puede crear el fichero regular «/backup/sincro./home/alex/web/pruebas/forosdelweb/classes/unaclase.php~»: No existe el fichero o el directorio
Porque está cogiendo el path con "./" inicial.
La cosa es.. alguien sabría quitar el "." inicial y poder usarlo así? Ya puestos, quitarle el ~ final para no tener que renombrarlo a posteriori.
Alguien sabe una forma mejor de hacer esta chapuza inmunda que he hecho?
Por último... alguien sabe si al copiar, se puede crear la carpeta en el caso de que esta no existiera? Porque ahora primero tengo que crear la estructura de carpetas vacía.
Muchísimas gracias de ante mano y siento el post tan largo.
Un saludo!!!