¿Cómo sincronizar OneDrive Business / Office 365 en Linux?
24
Microsoft OneDrive Business / Office 365 Pro ofrece 1 TB de almacenamiento en la nube, pero desafortunadamente nunca ha habido un método para sincronizarlo en Linux.
Bienvenido a Ask Ubuntu ! Somos un sitio de preguntas y respuestas, no un foro. Actualmente tiene tanto una pregunta como una respuesta en la sección de preguntas designada. Por favor, editar tu post para eliminar la respuesta y después de que en la sección de respuestas a continuación (debe haber un botón en la parte inferior de la página). ¡Gracias!
Actualmente, el onedrive-d experimental es un programa de código abierto que puede sincronizar solo cuentas personales de OneDrive, ya que no acepta enlaces de Microsoft Sharepoint. Aquí hay un método para sincronizar OneDrive Business / Office 365 usando GoodSync para Linux , que es gratuito para uso personal.
Instale la versión adecuada en su máquina Linux, por ejemplo:
./goodsync-linux-x86_64-release.run
Respuesta por n o tanto para la configuración GoodSync Connect y GsServer interfaz de usuario web.
Abra OneDrive en un navegador web. seleccione "Volver a Classic OneDrive" en el lado inferior derecho.
La dirección web en su navegador ahora se verá así:
https://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents/Forms/All.aspxy en base a ella obtenga su enlace de sincronización que será office365://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents.
Cree un nuevo archivo en la subcarpeta .goodsync en su hogar:
gedit ~/.goodsync/jobs.tix
Ingrese el siguiente código en el archivo y guárdelo:
<Job>
Name = "OneDrive_Sync"
Side1 = <SideOptions>
Dir = <Connect>
Url = "put_your_syncing_link_here"
UserID = "put_your_OneDrive/Office365_Bussiness_email_here"
</Connect>
</SideOptions>
Side2 = <SideOptions>
Dir = <Connect>
Url = "file:///your_home_folder/one_drive_folder"
</Connect>
</SideOptions>
Direction = 0
ExcludeHidden = No
ExcludeSystem = No
DetectMovesAndRenames = Yes
LinksOption = 1
ExcludeEmptyFolders = No
LimitChangesPercent = 100
AutoResolveConflicts = 3
DetectMovesAndRenames = Yes
</Job>
Comience el proceso de sincronización:
gsync sync "OneDrive_Sync"
En este paso, su navegador web abrirá la página OneDrive / Office 365 y solicitará su autorización para permitir que Goodsync acceda a su cuenta. Después de ingresar sus credenciales, se iniciará la sincronización.
Limitaciones: Microsoft no permite solicitudes de URL con una longitud de más de 270 caracteres, por lo que GoodSync NO PUEDE sincronizar archivos con rutas largas.
Mi navegador web no abre la página de autorización en el paso 7. ¿Alguna idea de cómo hacerlo manualmente?
pat-s
3
Mi navegador web no está abierto para iniciar sesión también
Haha TTpro
2
Sistema de archivos en office365: /.../ Documentos ha sido reemplazado por New OneDrive V2 API. Haga clic en el botón Examinar para volver a examinar su carpeta de sincronización de OneDrive, ya que New OneDrive requiere autenticación basada en navegador (OAuth2)
Ferroao
6
Ubuntu 18.04 y posterior
Hay un cliente OneDrive en los repositorios predeterminados de Ubuntu en Ubuntu 18.04 y versiones posteriores. OneDrive es el sistema de almacenamiento en la nube de Microsoft. Este paquete proporciona el cliente de línea de comandos especializado en sincronización con el almacenamiento en la nube OneDrive.
Instalarlo con:
sudo apt install onedrive
En la primera ejecución, le pide que se autentique con un enlace. Después de la autenticación, puede habilitar el demonio con systemctl --user enable onedrivey luego systemctl --user start onedrive. Se pueden encontrar más explicaciones en la página de manual man onedrive. Es muy fácil de configurar y solo lleva unos cinco minutos.
Si bien la onedrivedherramienta original y de uso común de xybu todavía no es compatible con OneDrive para la Empresa, sino solo con OneDrives personales. sin embargo, hay una bifurcación de este proyecto en GitHub por derrix060 que tiene una implementación que funciona de alguna manera (pero aún con errores) para el cliente de negocios.
Advertencia: cuando use este método, le recomiendo verificar siempre que los archivos se sincronizaron correctamente al verificarlos en línea en https://www.office.com , y / o usar mi script de envoltura que se muestra al final de esta página para al menos estar informado de cualquier error usando notificaciones de escritorio!
A veces, onedrived parece fallar al recoger algunos cambios o cargarlos correctamente, dejando su OneDrive en un estado (parcialmente) no sincronizado. También puede suceder que genere conflictos de fusión consigo mismo por algún motivo y cambie el nombre de sus archivos localmente agregando su nombre de host entre paréntesis y opcionalmente un número. Lamentablemente, no hay notificaciones sobre errores, pero puede ver las entradas en su archivo de registro.
Si esto sucede, puede hacer que intente sincronizar los archivos respectivos nuevamente, por ejemplo, tocándolos o renombrándolos o la carpeta en la que están.
Consejo: Parece que la biblioteca onedrived a menudo tiene problemas, especialmente con archivos que se guardaron directamente en la raíz de OneDrive. Probablemente sea mejor poner todos los archivos en subdirectorios en lugar de descargarlos directamente en la carpeta OneDrive.
Aunque suena estúpido, también noté que parece causar menos problemas cargar archivos a través del cliente web OneDrive y esperar hasta que se vuelvan a sincronizar a su carpeta local (que puede tomar varios minutos) que crearlos, copiarlos o moverlos. en la zona. Si esto es práctico o anula totalmente, el propósito de OneDrive depende de su propia decisión ...
Consulte el archivo Léame del proyecto para obtener instrucciones completas de instalación, pero aquí hay un breve resumen:
Instalación
Asegúrese de no tener instalada otra versión de onedrived(o onedrive-d).
Descargue el último ngrokcliente para Linux desde el sitio web oficial en https://ngrok.com/download . El ngrok-clientpaquete de los repositorios de Ubuntu es demasiado viejo y no cumple con los requisitos.
Descomprima el ngrok-stable-linux-amd64.ziparchivo descargado . Contiene un solo ngrokbinario, que debe colocar en una ubicación en su $PATH, por ejemplo, en /usr/local/bin/.
Registrarse en ngrok probablemente no sea necesario.
Instale la onedrivedaplicación Python3 desde GitHub usando pip3:
Opcionalmente, configure una ubicación para el archivo de registro onedrived, donde puede verificar si hay problemas si algo no funciona correctamente, por ejemplo:
onedrived-pref config set logfile_path ~/.config/onedrived/onedrived.log
Configuración de cuenta y configuración de unidad
Una vez que la instalación se realizó correctamente, debe configurar su cuenta y unidad (es):
Agregue su cuenta de OneDrive para la Empresa usando el modo interactivo ejecutando:
onedrived-pref account add -b
El asistente interactivo le pedirá dos veces que abra un enlace en su navegador, donde deberá autorizar la aplicación con su cuenta Microsoft Business.
Le pedirá que pegue la URL a la que será redirigido después de confirmar la autorización nuevamente en el asistente interactivo. Haga lo que se le indica y siga las instrucciones que le da el comando.
Verifique que la cuenta se haya agregado correctamente al verificar la salida del comando a continuación. Debería ser similar y enumerar la cuenta con la que inició sesión:
$ onedrived-pref account list
All OneDrive accounts associated with user "YOUR_UBUNTU_USERNAME":
# Account ID Owner Name Email Address Profile Type
--- ------------------------- ------------- -------------------- --------------
0 YOUR_PERSONAL_ACCOUNT_ID YOUR_NAME YOUR_BUSINESS_EMAIL Business
Configure sus unidades en el modo de comando interactivo ejecutando:
onedrived-pref drive set
Verá una lista de todas sus unidades y se le pedirá que ingrese el número de fila de la unidad que desea agregar a su configuración local.
Luego debe especificar un directorio local que desee usar como carpeta raíz para sincronizar con su unidad. Puedes presionar Entery usará el predeterminado ~/OneDrive. Si la ruta no existe, se creará. Lo mismo para la ruta al archivo de ignorar que desea usar, puede presionar Entery usará el predeterminado ~/.config/onedrived/ignore_v2.txty crearlo, si es necesario.
Verifique la salida del comando a continuación para mostrar la información sobre todas las unidades disponibles y configuradas. Debería mostrar la unidad que acaba de configurar con la configuración correcta debajo del título Drives that have been set up:
onedrived-pref drive list
Lanzando el demonio
Ahora que su unidad está configurada, debe intentar iniciar el onedriveddemonio. Recomiendo iniciarlo primero en modo de depuración, en caso de que surja algún problema. Esto comenzará onedriveden primer plano:
onedrived start --debug
Si todo está bien y el comando no se bloquea y sale, intente colocar algunos archivos en su carpeta local de OneDrive y vea si se sincroniza. Probablemente debería poder verificar eso visitando la aplicación web OneDrive en https://www.office.com y verificando si los archivos que agregó localmente están apareciendo allí.
Puede salir del onedrivedproceso en su terminal nuevamente presionando Ctrl+ C.
Para iniciar onedrivednormalmente, como daemon en segundo plano, ejecútelo con:
Si desea recibir notificaciones de escritorio cada vez que onedrivedregistra un error (por ejemplo, una sincronización de archivo fallida), aquí hay un script de envoltura que analiza el archivo de registro en tiempo real y utiliza el envío de notificaciones para mostrarlo.
Puede iniciar el script del contenedor sin argumentos (o ponerlo en sus aplicaciones de inicio automático) en lugar del onedrived startcomando.
Todavía recibo el mensaje "No se pudo autorizar onedrived: Interaction_required". después de ingresar el segundo enlace para autenticar la cuenta ODfB. ¿Alguna idea de por qué esto podría suceder?
Jimakos
@Jimakos Lo siento, nunca encontré ese mensaje. Ni idea por desgracia.
Aquí está mi ejemplo para configurar un nuevo control remoto onedrive1con rclone 1.48.0 (en Fedora 30):
$ rclone config
2019/10/10 06:35:56 NOTICE: Config file ".config/rclone/rclone.conf" not found - using defaults
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
name> onedrive1
Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
⋮
19 / Microsoft OneDrive
\ "onedrive"
⋮
Storage> 19
** See help for onedrive backend at: https://rclone.org/onedrive/ **
Microsoft App Client Id
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_id>
Microsoft App Client Secret
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_secret>
Edit advanced config? (y/n)
y) Yes
n) No
y/n> n
Remote config
Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine
y) Yes
n) No
y/n> y
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
Log in and authorize rclone for access
Waiting for code...
Got code
Choose a number from below, or type in an existing value
1 / OneDrive Personal or Business
\ "onedrive"
2 / Root Sharepoint site
\ "sharepoint"
3 / Type in driveID
\ "driveid"
4 / Type in SiteID
\ "siteid"
5 / Search a Sharepoint site
\ "search"
Your choice> 1
Found 2 drives, please select the one you want to use:
0: OneDrive - Example Inc (business) id=b!gFLg-RRe****-T9B****
1: OneDrive - Example Inc (business) id=b!gFLg-RRe****-T-H****
Chose drive to use:> 1
Found drive 'root' of type 'business', URL: https://example-my.sharepoint.com/personal/myname_example_com/Documents
Is that okay?
y) Yes
n) No
y/n> y
Current remotes:
Name Type
==== ====
onedrive1 onedrive
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q
La URL de la unidad 0 termina /ElementinnerHTMLy no contiene archivos en mi caso.
Respuestas:
Actualmente, el onedrive-d experimental es un programa de código abierto que puede sincronizar solo cuentas personales de OneDrive, ya que no acepta enlaces de Microsoft Sharepoint. Aquí hay un método para sincronizar OneDrive Business / Office 365 usando GoodSync para Linux , que es gratuito para uso personal.
Instale la versión adecuada en su máquina Linux, por ejemplo:
Respuesta por n o tanto para la configuración GoodSync Connect y GsServer interfaz de usuario web.
https://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents/Forms/All.aspx
y en base a ella obtenga su enlace de sincronización que seráoffice365://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents
.Cree un nuevo archivo en la subcarpeta .goodsync en su hogar:
Ingrese el siguiente código en el archivo y guárdelo:
Comience el proceso de sincronización:
En este paso, su navegador web abrirá la página OneDrive / Office 365 y solicitará su autorización para permitir que Goodsync acceda a su cuenta. Después de ingresar sus credenciales, se iniciará la sincronización.
Limitaciones: Microsoft no permite solicitudes de URL con una longitud de más de 270 caracteres, por lo que GoodSync NO PUEDE sincronizar archivos con rutas largas.
¡Disfrutar!
fuente
Ubuntu 18.04 y posterior
Hay un cliente OneDrive en los repositorios predeterminados de Ubuntu en Ubuntu 18.04 y versiones posteriores. OneDrive es el sistema de almacenamiento en la nube de Microsoft. Este paquete proporciona el cliente de línea de comandos especializado en sincronización con el almacenamiento en la nube OneDrive.
Instalarlo con:
En la primera ejecución, le pide que se autentique con un enlace. Después de la autenticación, puede habilitar el demonio con
systemctl --user enable onedrive
y luegosystemctl --user start onedrive
. Se pueden encontrar más explicaciones en la página de manualman onedrive
. Es muy fácil de configurar y solo lleva unos cinco minutos.fuente
Si bien la
onedrived
herramienta original y de uso común de xybu todavía no es compatible con OneDrive para la Empresa, sino solo con OneDrives personales. sin embargo, hay una bifurcación de este proyecto en GitHub por derrix060 que tiene una implementación que funciona de alguna manera (pero aún con errores) para el cliente de negocios.Consulte el archivo Léame del proyecto para obtener instrucciones completas de instalación, pero aquí hay un breve resumen:
Instalación
Asegúrese de no tener instalada otra versión de
onedrived
(oonedrive-d
).Instalar paquetes de dependencia:
Descargue el último
ngrok
cliente para Linux desde el sitio web oficial en https://ngrok.com/download . Elngrok-client
paquete de los repositorios de Ubuntu es demasiado viejo y no cumple con los requisitos.Descomprima el
ngrok-stable-linux-amd64.zip
archivo descargado . Contiene un solongrok
binario, que debe colocar en una ubicación en su$PATH
, por ejemplo, en/usr/local/bin/
.Registrarse en ngrok probablemente no sea necesario.
Instale la
onedrived
aplicación Python3 desde GitHub usandopip3
:Opcionalmente, configure una ubicación para el archivo de registro
onedrived
, donde puede verificar si hay problemas si algo no funciona correctamente, por ejemplo:Configuración de cuenta y configuración de unidad
Una vez que la instalación se realizó correctamente, debe configurar su cuenta y unidad (es):
Agregue su cuenta de OneDrive para la Empresa usando el modo interactivo ejecutando:
El asistente interactivo le pedirá dos veces que abra un enlace en su navegador, donde deberá autorizar la aplicación con su cuenta Microsoft Business.
Le pedirá que pegue la URL a la que será redirigido después de confirmar la autorización nuevamente en el asistente interactivo. Haga lo que se le indica y siga las instrucciones que le da el comando.
Verifique que la cuenta se haya agregado correctamente al verificar la salida del comando a continuación. Debería ser similar y enumerar la cuenta con la que inició sesión:
Configure sus unidades en el modo de comando interactivo ejecutando:
Verá una lista de todas sus unidades y se le pedirá que ingrese el número de fila de la unidad que desea agregar a su configuración local.
Luego debe especificar un directorio local que desee usar como carpeta raíz para sincronizar con su unidad. Puedes presionar Entery usará el predeterminado
~/OneDrive
. Si la ruta no existe, se creará. Lo mismo para la ruta al archivo de ignorar que desea usar, puede presionar Entery usará el predeterminado~/.config/onedrived/ignore_v2.txt
y crearlo, si es necesario.Verifique la salida del comando a continuación para mostrar la información sobre todas las unidades disponibles y configuradas. Debería mostrar la unidad que acaba de configurar con la configuración correcta debajo del título
Drives that have been set up
:Lanzando el demonio
Ahora que su unidad está configurada, debe intentar iniciar el
onedrived
demonio. Recomiendo iniciarlo primero en modo de depuración, en caso de que surja algún problema. Esto comenzaráonedrived
en primer plano:Si todo está bien y el comando no se bloquea y sale, intente colocar algunos archivos en su carpeta local de OneDrive y vea si se sincroniza. Probablemente debería poder verificar eso visitando la aplicación web OneDrive en https://www.office.com y verificando si los archivos que agregó localmente están apareciendo allí.
Puede salir del
onedrived
proceso en su terminal nuevamente presionando Ctrl+ C.Para iniciar
onedrived
normalmente, como daemon en segundo plano, ejecútelo con:Probablemente debería agregar este comando a sus Aplicaciones de inicio, para que se inicie automáticamente cada vez que inicie sesión. Consulte ¿Cómo inicio las aplicaciones automáticamente al iniciar sesión? para eso.
Contenedor para notificaciones de error
Si desea recibir notificaciones de escritorio cada vez que
onedrived
registra un error (por ejemplo, una sincronización de archivo fallida), aquí hay un script de envoltura que analiza el archivo de registro en tiempo real y utiliza el envío de notificaciones para mostrarlo.Puede iniciar el script del contenedor sin argumentos (o ponerlo en sus aplicaciones de inicio automático) en lugar del
onedrived start
comando.fuente
rclone es compatible con OneDrive para la Empresa. Vea un artículo Cómo montar OneDrive en Linux usando Rclone (compatible con cuentas comerciales y personales) - Blog de levantamiento de Linux para su uso.
Aquí está mi ejemplo para configurar un nuevo control remoto
onedrive1
con rclone 1.48.0 (en Fedora 30):La URL de la unidad 0 termina
/ElementinnerHTML
y no contiene archivos en mi caso.Luego, móntelo en un directorio local a través de la línea de comandos, rclone-browser o web GUI desde v1.49 .
fuente