Este es un pequeño tip para recordar cómo copiar un archivo o un directorio recursivamente en la consola o terminal en Linux. Para ello, entra en tu terminal o consola Linux y utiliza el siguiente formato:
cp -r fichero_o_carpeta_a_copiar nombre_copia_de_fichero_o_carpeta
Por ejemplo, si queremos copiar nuestra carpeta de descargas de nuestro usuario, estando en home ejecutamos:
cp -r Descargas descargas_respaldo
https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.
Ver comentarios
Hola Manuel plaseme saludarte, tengo una duda: Hice una copia de toda la información de una empresa en un disco duro externo, la carpeta se llama IYN, necesito volver a copiar la información pero no crear otra carpeta IYN-2, no mas carpetas, necesito que solo se copien los archivos nuevos y los modificados a partir del 20 de agosto de 2014 en la misma carpeta. Gracias
Aclaro, la copia la hice con cp y quiero seguirla haciendo con cp o scp u otro similar, pero no comprimir con tar ni otro de este tipo. Gracias
En estos casos veo dos opciones:
· Programar un 'script' en Python, Octave o Bash que automatice la tarea de recursividad y que analice fichero por fichero los datos de modificación.
· Usar el comando 'find' con los argumentos necesarios y, una vez obtenida la lista, copiar, con 'cp', los archivos nuevos y modificados.
De todas maneras, aquí te dejo más información:
· URL: http://stackoverflow.com/questions/25027864/bash-script-to-copy-all-files-in-current-directory-modified-recently-into-a-newl.
· URL: http://movingtofreedom.org/2007/04/15/bash-shell-script-copy-only-files-modified-after-specified-date/.
· URL: http://unix.stackexchange.com/questions/118521/copy-files-modified-after-specific-date-using-cp-switches.
Mil gracias Manuel, Vamos a ver como me va. Bendiciones
Hola Manuel,
La verdad no soy muy ducho en Linux, me pueden colaborar con una idea de como hago el 'script' en Python, Octave o Bash.
Mil gracias
Aristóbulo,
No podemos darte el script completo, no es tan sencillo pero te cuento.
Yo que tú lo haría en bash y usaría un comparador de fechas de modificación, creando un fichero con una marca de tiempo y haciendo un find sobre él:
touch -t 201408201231.43 /tmp/wotsit
find . -newer /tmp/wotsit -print
Con eso luego haces un cp.
Un saludo.
Te aconsejo que le eches un ojo a la instrucción de linux rsync. rsync -arz /origen/ /destino/
Y si son muchos ficheros y quieres optimizar la copia en función de los recursos lánzalo con la instrucción ionice.