Enlace simbólico Google Drive

Quiero sincronizar las carpetas que están en mi Mac con Google Drive, sin tener que arrastrar las carpetas a la carpeta de Google Drive y conservando la estructura de mi carpeta en mi Mac.

Supuse que tendría que tener un enlace simbólico (enlace simbólico) para que esto funcione.

Así que probé en la Terminal:

cd /path/to/google/drive
ln -s /path/to/folder/

La carpeta apareció en mi carpeta de Google Drive, pero no quería sincronizarse.

Entonces probé

ln -s “/path/to/folder”  “/path/to/google/drive/”

Todavía no funcionó. Así que me referí a este artículo de HowToGeek sobre este tema y decía que debe mover la carpeta original a la carpeta de Google Drive y hacer un me gusta simbólico a la carpeta principal original.

Me gustaría tener el original no en la carpeta de Google Drive. ¿Existe una alternativa gratuita al enlace simbólico? Miré jdrivesync pero no pude instalarlo (ese será otro problema en otra discusión).

¡Gracias por tu ayuda!

¿Existe una forma alternativa a un enlace simbólico para sincronizar carpetas fuera de mi carpeta de Google Drive? Actualizaré la pregunta. @techraf
Nunca dice que es imposible. ¿Podría haber otra forma que no sea usar enlaces simbólicos o podría haber una aplicación? @techraf
Nunca pedí otro comando de enlace simbólico o lo que sea, ya que obviamente no funcionaría. ¿Hay alguna aplicación u otro comando que pueda lograr lo que quiero hacer? No tiene sentido discutir sobre lo que dije, aquí nos ayudamos unos a otros.

Respuestas (5)

Puede usar un enlace fijo de directorio, pero solo en el sistema de archivos HFS+. Necesitarás GNU lnpara usar la -dopción. Esto se puede instalar usando Homebrew :, brew install coreutilsluego ejecute:

sudo gln -d "/path/to/original" "/path/to/drive/folder"

Se le pedirá su contraseña. Este comando crea un enlace fijo al archivo/carpeta en sí mismo en lugar de un enlace simbólico a un puntero a un archivo/directorio. Como la carpeta del enlace es esencialmente la misma que la carpeta original, Google Drive la sincroniza correctamente.

Para desvincular un vínculo físico, utilice unlink "/path/to/drive/folder".

ADVERTENCIA: APFS (Sistema de archivos de Apple) no admite enlaces duros. Si planea instalar macOS High Sierra o posterior y desea continuar usando enlaces físicos de directorio, deberá mantener su sistema de archivos HFS+. De forma predeterminada, el instalador de macOS High Sierra en una Mac con SSD (por ejemplo, sin HDD o Fusion Drive) convierte automáticamente el sistema de archivos HFS+ a APFS. Para omitir la conversión durante la actualización, deberá ejecutar el instalador de macOS de la siguiente manera:

/Applications/Install\ macOS\ High\ Sierra.app/*/R*/startosinstall --converttoapfs NO

Si evita la última opción, terminará con un lío de directorios vinculados /.HFS+ Private Directory Datadespués de la actualización.

Gracias por responder. Intenté eso y dijo que era un directorio que asumo que "ln" solo funciona para archivos reales.
@Mekul Oops -des para directorios, vea editar.
¿Está seguro? Simplemente escribí en Terminal y dije que es una opción ilegal, incluso escribí "man ln" y no había tal cosa como "-d". ¡De todas formas, gracias por la ayuda!
@Mekul Ah, tengo GNU ln instalado con Homebrew, disculpas. Ahora he tomado nota de esto en mi respuesta.
Lamento molestarle de nuevo. Ultima vez. Ya tengo instalado Homebew, qué GNU es, tar, sed, sangría, etc. Gracias :)
@Mekul ¡Está bien, es mi culpa! Estoy haciendo todo esto en mi teléfono desde la memoria, ¡la próxima vez esperaré hasta que esté en mi computadora! Creo que es parte del paquete 'coreutils' y se llama 'gln' para no reemplazar el 'ln' existente.
¡Sin problemas, sin prisas! Instalé "coreutils" y luego escribí "brew install gln" y aparecieron alrededor de 50. Realmente aprecio sus respuestas rápidas.
@Mekul Quise decir instalar coreutils y luego el comando se convierte en 'sudo gln -d …', nada más para instalar.
Mis disculpas. Estoy probando el comando ahora, le haré saber cómo va. Salud
sudono parece ser necesario.
Pero si se editan los archivos de origen, el enlace no se actualiza y, por lo tanto, GDrive Sync no se activa. Tengo que ejecutar el comando de enlace cada vez que quiero actualizar GDrive

Google Drive parece ser inútil a menos que desee reorganizar su disco.

Sugarsync está diseñado pensando en Windows. Es realmente elegante y te permite sincronizar carpetas existentes, donde sea que estén. Lo usé por un tiempo. Tiene un cliente Mac, pero eso es todo lo que pensaron en él. No puede sincronizar paquetes correctamente. Los paquetes son una estructura UNIX que utiliza Mac para aplicaciones y archivos de datos. Así que me deshice de Sugarsync.

OneDrive de Microsoft no hace enlaces simbólicos y no creo que ni siquiera sepan qué son los paquetes.

Dropbox, por otro lado, respeta los enlaces simbólicos y maneja los paquetes correctamente.

Hardlink tradicionalmente solo funciona para archivos, no para directorios.

Aunque HFS+ es compatible con el enlace de directorio, es más bien una característica interna reservada para Time Machine . Úselo bajo su propio riesgo.

Puede consultar SugarSync , que afirma

Haga una copia de seguridad y acceda a sus archivos. Usando su estructura de carpetas existente.

Una experiencia personal con el enlace duro del directorio es que

  • Reduzco y luego amplío el disco de Time Machine, que utiliza en gran medida el enlace duro del directorio
  • Entonces los datos de la copia de seguridad están desordenados.
  • Tengo que formatear la partición, perdiendo el historial.

En macOS Sierra y con la nueva solución coreutils en una publicación anterior, no funciona como se esperaba.

1) Vas a necesitar gnu coreutils. Puedes instalarlo a través de homebrew.

brew install coreutils

2) (opcional) puede escribir gln --helppara obtener el manual de uso de este comando. Esto generará 4 formas:

  1. Uso: gln [OPCIÓN]... [-T] OBJETIVO LINK_NAME (primera forma)
  2. o: gln [OPCIÓN]... OBJETIVO (2da forma)
  3. o: gln [OPCIÓN]... OBJETIVO... DIRECTORIO (3ra forma)
  4. o: gln [OPCIÓN]... -t DIRECTORIO OBJETIVO... (4ta forma)

    En el primer formulario, cree un enlace a TARGET con el nombre LINK_NAME.

    En la segunda forma, cree un enlace a TARGET en el directorio actual.

    En los formularios 3 y 4, cree enlaces a cada OBJETIVO en el DIRECTORIO.

3) Vaya a la 'carpeta de la unidad' (GD) de Google o a cualquier subcarpeta de GD a través de la línea de comando:

3.a) Puede en el tipo de terminal cd(espacio después de 'd') y arrastrar la carpeta/directorio a la ventana del terminal

3.b) o simplemente escriba su camino hacia el destino como cd /Users/yourAccountName/Google\ Drive/sub/subSubFolder donde 'yourAccountName' es el nombre de su cuenta en el sistema operativo y 'sub/subSubFolder' su estructura de carpetas en GD. Tenga en cuenta que debe 'escapar' de los símbolos especiales en la ruta del archivo y el nombre con una barra invertida ('\'), como hice con el espacio en el nombre de la carpeta 'Google Drive', por lo que ahora se ve como 'Google\ Drive'.

4) Y, como aclaró grgarside en su publicación, debe usar una clave sudopara -drealizar la vinculación. Entonces, solo escribe:

sudo gln -d '/Users/yourAccountName/path/to/original/folder/with/your/stuff'

Dos formas de obtener muchos archivos/carpetas en Google Drive sin alterar la estructura de archivos:

  1. Con Google Drive para Mac instalado: duplique las carpetas relevantes y arrastre sus copias a la carpeta de Google Drive.

O

  1. Uso de Google Drive con Google Chrome: arrastre las carpetas relevantes a una ventana de Google Drive en Chrome; se cargarán y esto no estropeará su estructura de archivos.

El uso de cualquiera de estos métodos llevará sus carpetas a Drive sin alterar su estructura de archivos.

Sé que ninguno de estos es lo que solicitó, pero ambos deberían hacer el trabajo. Comenta abajo para cualquier otra cosa.