Una carpeta que tiene dos ubicaciones diferentes en Ubuntu 18.04

Una carpeta que tiene dos ubicaciones diferentes en Ubuntu 18.04

Quiero tener la misma carpeta en dos ubicaciones diferentes en mi Ubuntu. Si actualizo algo en una, también debería actualizarse en la otra ubicación.

¿Cómo puedo lograrlo?

Respuesta1

Como se señala en los comentarios pero no como una respuesta adecuada:

En muchos casos, un enlace simbólico es la solución más sencilla.

Puede crearlos fácilmente en la línea de comando (usando el lncomando con -sparámetro). También puede crearlos fácilmente usando una GUI: la mayoría de los exploradores de archivos (nautilus, ...) le permiten crear un enlace simbólico usando arrastrar y soltar (como para mover un archivo) mientras mantiene presionada una tecla modificadora (CTRL+MAYÚS).

Ejemplo de uso de la línea de comando:

$ mkdir first_dir
$ ln -s ./first_dir ./second_dir
$ ls 
first_dir  second_dir

$ touch ./first_dir/test_1
$ touch ./second_dir/test_2

$ ls ./first_dir 
test_1  test_2

$ ls ./second_dir
test_1  test_2

Respuesta2

Usarunir montajes.

Supongamos que tiene un directorio existente /home/pandey/originaly deseaespejopara /home/pandey/mirrorque todo lo que hagas en cualquiera de ellos se haga automáticamente también en el otro.

Esto no requiere ninguna sincronización ni copia entre los dos directorios. Aenlazar montajees solo otrovistaal directorio original y lo que sucede en uno también sucede en el otro.

  1. Cree (como su usuario) el nuevo directorio /home/pandey/mirror:

    mkdir /home/pandey/mirror
    
  2. montaje en enlaceel directorio original a la ruta recién creada. Esto requiere acceso root:

    sudo mount --bind /home/pandey/original /home/pandey/mirror
    
  3. Disfrutar.

Para deshacer esto, simplemente

sudo umount /home/pandey/mirror
rmdir /home/pandey/mirror

Vea también esta pregunta y su excelente respuesta en stackexchangesobre montajes de enlace.

Respuesta3

Puedes hacerlo configurando un trabajo crontab:

  • Abre tu terminal y escribecrontab -e
  • Presione ipara activar el modo de inserción de su editor vim.

Puede ingresar el comando que desea que se realice allí, para poder copiar todos los archivos de la carpeta en otra carpeta. Por ejemplo, si desea copiar todos los archivos, /home/user/folder_namedebe /home/user/publicinsertar este comando en su crontabarchivo:

rsync /home/user/folder_name -r /home/user/public

Esto copiará todos los archivos en el intervalo deseado. Si desea copiar todos los archivos a las 21:30 todos los días, su edición debe ser:

 30 21 * * *  rsync /home/user/folder_name -r /home/user/public

Para más información sobrecrontabmiraraquío usar man crontab.

información relacionada