O Microsoft OneDrive Business / Office 365 Pro oferece 1 TB de armazenamento em nuvem, mas infelizmente nunca houve um método para sincronizá-lo no Linux.
O Microsoft OneDrive Business / Office 365 Pro oferece 1 TB de armazenamento em nuvem, mas infelizmente nunca houve um método para sincronizá-lo no Linux.
Respostas:
Atualmente, o onedrive-d experimental é um programa de código aberto que pode sincronizar apenas contas pessoais do OneDrive, pois não aceita links do Microsoft Sharepoint. Aqui está um método para sincronizar o OneDrive Business / Office 365 usando o GoodSync para Linux , que é gratuito para uso pessoal.
Instale a versão adequada na sua máquina Linux, por exemplo:
./goodsync-linux-x86_64-release.run
Resposta pelo n o tanto para configuração GoodSync Connect e GsServer Web UI.
https://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents/Forms/All.aspx
e com base nele obter o seu link de sincronização que será office365://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents
.Crie um novo arquivo na subpasta .goodsync em sua casa:
gedit ~/.goodsync/jobs.tix
Digite o seguinte código no arquivo e salve-o:
<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>
Inicie o processo de sincronização:
gsync sync "OneDrive_Sync"
Nesta etapa, o seu navegador abrirá a página do OneDrive / Office 365 e solicitará sua autorização para permitir que o goodsync acesse sua conta. Depois de inserir suas credenciais, a sincronização será iniciada.
Limitações: A Microsoft não permite solicitações de URL com mais de 270 caracteres e, portanto, o GoodSync NÃO PODE sincronizar arquivos com nomes de caminho longos.
Apreciar!
Há um cliente OneDrive nos repositórios padrão do Ubuntu no Ubuntu 18.04 e posterior. O OneDrive é o sistema de armazenamento em nuvem da Microsoft. Este pacote fornece o cliente de linha de comando especializado em sincronização com o armazenamento em nuvem do OneDrive.
Instale-o com:
sudo apt install onedrive
Na primeira execução, solicita que você se autentique com um link. Após a autenticação, você pode ativar o deamon com systemctl --user enable onedrive
e depois systemctl --user start onedrive
. Mais explicações podem ser encontradas na página de manual man onedrive
. É muito fácil de configurar e leva apenas cerca de cinco minutos.
Embora a onedrived
ferramenta original e comumente usada pelo xybu ainda não suporte o OneDrive for Business, mas apenas o OneDrives pessoal. no entanto, existe uma bifurcação deste projeto no GitHub por derrix060 que possui uma implementação de alguma forma funcionando (mas ainda com erros) para o cliente Business.
Aviso: Quando você usa esse método, é altamente recomendável verificar sempre se os arquivos foram sincronizados corretamente, verificando-os on-line em https://www.office.com e / ou usar meu script de wrapper mostrado no final desta página para pelo menos ser informado de quaisquer erros usando as notificações da área de trabalho!
Às vezes, o onedrived parece falhar ao captar algumas alterações ou carregá-las corretamente, deixando o OneDrive em um estado (parcialmente) não sincronizado. Também pode acontecer que ele gere conflitos de mesclagem por algum motivo e renomeie seus arquivos localmente, acrescentando o nome do host entre parênteses e, opcionalmente, um número. Infelizmente não há notificação sobre erros, mas você pode ver as entradas no seu arquivo de log.
Se isso acontecer, você pode tentar sincronizar os arquivos respectivos novamente, por exemplo, tocando neles ou renomeando-os ou a pasta em que estão.
Dica: Parece que a biblioteca onedrived geralmente tem problemas, especialmente com arquivos que foram salvos diretamente na raiz do OneDrive. Provavelmente, é melhor colocar todos os arquivos em subdiretórios em vez de jogá-los diretamente na pasta do OneDrive.
Embora pareça estúpido, também notei que parece causar menos problemas para carregar arquivos através do cliente Web OneDrive e esperar até que sejam sincronizados de volta à sua pasta local (o que pode levar alguns minutos) do que para criar ou copiar / movê-los localmente. Se isso é prático ou totalmente anula, o objetivo do OneDrive depende de sua própria decisão ...
Consulte o arquivo leia-me do projeto para obter instruções completas de instalação, mas aqui está um breve resumo:
Verifique se você não tem outra versão do onedrived
(ou onedrive-d
) instalada.
Instale pacotes de dependência:
sudo apt install build-essential python3-dev libssl-dev inotify-tools python3-dbus libdbus-1-dev libdbus-glib-1-dev
Faça o download do ngrok
cliente mais recente para Linux no site oficial em https://ngrok.com/download . O ngrok-client
pacote dos repositórios do Ubuntu é muito antigo e não atende aos requisitos.
Descompacte o ngrok-stable-linux-amd64.zip
arquivo baixado . Ele contém um único ngrok
binário, que você deve colocar em um local no seu $PATH
, por exemplo, no /usr/local/bin/
.
A inscrição no ngrok provavelmente não é necessária.
Instale o onedrived
aplicativo Python3 no GitHub usando pip3
:
sudo -H pip3 install git+https://github.com/derrix060/onedriveClient.git
Opcionalmente, configure um local do arquivo de log para onedrived
, onde você poderá verificar problemas se algo não funcionar corretamente, por exemplo:
onedrived-pref config set logfile_path ~/.config/onedrived/onedrived.log
Depois que a instalação foi bem-sucedida, você deve configurar sua conta e unidade (s):
Adicione sua conta do OneDrive for Business usando o modo interativo executando:
onedrived-pref account add -b
O assistente interativo solicitará que você duas vezes abra um link no seu navegador, onde será necessário autorizar o aplicativo com sua conta do Microsoft Business.
Ele solicitará que você cole o URL para o qual você é redirecionado depois de confirmar a autorização novamente no assistente interativo. Por favor, faça o que foi dito e siga as instruções fornecidas pelo comando.
Verifique se a conta foi adicionada com sucesso, verificando a saída do comando abaixo. Deve ser semelhante e listar a conta com a qual você está conectado:
$ 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 suas unidades no modo de comando interativo executando:
onedrived-pref drive set
Você verá uma lista de todas as suas unidades e será solicitado a inserir o número da linha da unidade que deseja adicionar à sua configuração local.
Você precisa especificar um diretório local que deseja usar como pasta raiz para sincronizar com sua unidade. Você pode simplesmente clicar Entere ele usará o padrão ~/OneDrive
. Se o caminho não existir, ele será criado. O mesmo para o caminho para o arquivo ignorar que você deseja usar, basta clicar Entere ele usará o padrão ~/.config/onedrived/ignore_v2.txt
e criará, se necessário.
Verifique a saída do comando abaixo para exibir as informações sobre todas as unidades disponíveis e configuradas. Ele deve mostrar a unidade que você acabou de configurar com as configurações corretas sob o título Drives that have been set up
:
onedrived-pref drive list
Agora que sua unidade está configurada, você precisa tentar iniciar o onedrived
daemon. Eu recomendo iniciá-lo no modo de depuração primeiro, caso haja algum problema que você perderia. Isso começará onedrived
em primeiro plano:
onedrived start --debug
Se tudo estiver correto e o comando não travar e sair, tente colocar alguns arquivos na pasta local do OneDrive e verifique se ele é sincronizado. Provavelmente, você poderá verificar isso visitando o aplicativo Web do OneDrive em https://www.office.com e verificando se os arquivos adicionados localmente estão aparecendo lá.
Você pode sair do onedrived
processo no seu terminal novamente pressionando Ctrl+ C.
Para iniciar onedrived
normalmente, como um daemon em segundo plano, execute-o com:
onedrived start
Provavelmente, você deve adicionar este comando aos seus Aplicativos de Inicialização, para que seja iniciado automaticamente sempre que efetuar login. Consulte Como iniciar aplicativos automaticamente no login? por isso.
Se você deseja receber notificações da área de trabalho sempre que onedrived
registrar um erro (por exemplo, falha na sincronização de arquivos), aqui está um script de wrapper que analisa o arquivo de log em tempo real e usa o envio de notificação para exibi-lo.
Você pode iniciar o script do wrapper sem argumentos (ou colocá-lo em seus aplicativos de inicialização automática) em vez do onedrived start
comando
#!/bin/bash
LOGFILE=~/.config/onedrived/onedrived.log
ICON_START=weather-overcast
ICON_STOP=weather-few-clouds
ICON_ERROR=weather-severe-alert
onexit () {
onedrived stop
notify-send -i "$ICON_STOP" "OneDrive" "Wrapper stopped"
echo "onedrived-wrapper stopped"
}
trap onexit EXIT
onedrived stop
echo "---" >> "$LOGFILE"
onedrived start || {
echo "Failed to start onedrived!"
exit 1
}
notify-send -i "$ICON_START" "OneDrive" "Wrapper started"
echo "Monitoring onedrived.log for error messages..."
tail -n 1 -F --pid="$(pgrep -f "onedrived start")" "$LOGFILE" |
while read LINE ; do
echo "$LINE"
if MESSAGE="$(grep -Pio '(?<=ERROR: ).*' <<< "$LINE")" ; then
notify-send -i "$ICON_ERROR" "OneDrive Error" "$MESSAGE"
fi
done
O rclone suporta o OneDrive for Business. Consulte um artigo Como montar o OneDrive no Linux usando o Rclone (suporta contas pessoais e empresariais) - Blog do Linux Uprising para uso.
Aqui está o meu exemplo para configurar um novo controle remoto onedrive1
com o rclone 1.48.0 (no 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
O URL da unidade 0 termina com /ElementinnerHTML
e não contém arquivos no meu caso.
Em seguida, monte-o em um diretório local via linha de comando, navegador rclone ou GUI da web desde a v1.49 .