Microsoft OneDrive Business / Office 365 Pro offre 1 To de stockage cloud mais malheureusement il n'y a jamais eu de méthode pour le synchroniser sous Linux.
Microsoft OneDrive Business / Office 365 Pro offre 1 To de stockage cloud mais malheureusement il n'y a jamais eu de méthode pour le synchroniser sous Linux.
Réponses:
Actuellement, l'expérimental onedrive-d est un programme open source qui ne peut synchroniser que les comptes OneDrive personnels car il n'accepte pas les liens Microsoft Sharepoint. Voici une méthode pour synchroniser OneDrive Business / Office 365 à l'aide de GoodSync pour Linux , qui est gratuit pour un usage personnel.
Installez la version appropriée sur votre machine Linux, par exemple:
./goodsync-linux-x86_64-release.run
Réponse n o pour les GoodSync Connect et configuration GsServer interface utilisateur Web.
https://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents/Forms/All.aspx
et sur cette base, obtenez votre lien de synchronisation qui sera office365://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents
.Créez un nouveau fichier dans le sous-dossier .goodsync de votre domicile:
gedit ~/.goodsync/jobs.tix
Entrez le code suivant dans le fichier et enregistrez-le:
<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>
Démarrez le processus de synchronisation:
gsync sync "OneDrive_Sync"
À cette étape, votre navigateur Web ouvrira la page OneDrive / Office 365 et vous demandera votre autorisation pour autoriser goodsync à accéder à votre compte. Après avoir entré vos informations d'identification, la synchronisation commencera.
Limitations: Microsoft n'autorise pas les demandes d'URL d'une longueur de plus de 270 caractères et donc GoodSync NE PEUT PAS synchroniser les fichiers avec des noms de chemin longs.
Prendre plaisir!
Il existe un client OneDrive dans les référentiels Ubuntu par défaut dans Ubuntu 18.04 et versions ultérieures. OneDrive est le système de stockage cloud de Microsoft. Ce package fournit le client de ligne de commande spécialisé dans la synchronisation avec le stockage cloud OneDrive.
Installez-le avec:
sudo apt install onedrive
Au premier lancement, il vous demande de vous authentifier avec un lien. Après l'authentification, vous pouvez activer le démon avec systemctl --user enable onedrive
puis systemctl --user start onedrive
. De plus amples explications peuvent être trouvées dans la page de manuel man onedrive
. Il est très facile à configurer et ne prend que cinq minutes environ.
Alors que l' onedrived
outil original et couramment utilisé par xybu ne prend toujours pas en charge OneDrive Entreprise, mais uniquement des OneDrives personnels. cependant, il y a un fork de ce projet sur GitHub par derrix060 qui a une implémentation qui fonctionne (mais qui est toujours boguée) pour le client Business.
Avertissement: lorsque vous utilisez cette méthode, je vous recommande vivement de toujours vérifier que les fichiers ont été correctement synchronisés en les vérifiant en ligne sur https://www.office.com et / ou d'utiliser mon script wrapper affiché à la fin de cette page pour au moins être informé de toute erreur en utilisant les notifications du bureau!
Parfois, onedrived semble ne pas réussir à récupérer certaines modifications ou à les télécharger correctement, laissant votre OneDrive dans un état (partiellement) non synchronisé. Il peut également arriver qu'il génère des conflits de fusion avec lui-même pour une raison quelconque et renomme vos fichiers localement en ajoutant votre nom d'hôte entre parenthèses et éventuellement un nombre. Malheureusement, il n'y a pas de notification d'erreurs, mais vous pouvez voir les entrées dans votre fichier journal.
Si cela se produit, vous pouvez essayer de synchroniser à nouveau les fichiers respectifs en les touchant ou en les renommant ou le dossier dans lequel ils se trouvent.
Astuce: il semble que la bibliothèque onedrived ait souvent des problèmes, en particulier avec les fichiers qui ont été enregistrés directement dans la racine OneDrive. Il est probablement préférable de placer tous les fichiers dans des sous-répertoires au lieu de les vider directement dans le dossier OneDrive.
Bien que cela semble stupide, j'ai également remarqué que cela semble causer moins de problèmes pour télécharger des fichiers via le client Web OneDrive et attendre jusqu'à ce qu'ils soient synchronisés dans votre dossier local (ce qui peut prendre plusieurs minutes cependant) que pour les créer, les copier ou les déplacer. localement. Que ce soit pratique ou totalement nul, le but de OneDrive dépend de votre propre décision ...
Consultez le fichier Lisezmoi du projet pour obtenir des instructions d'installation complètes, mais voici un bref résumé:
Assurez-vous qu'aucune autre version de onedrived
(ou onedrive-d
) n'est installée.
Installez les packages de dépendances:
sudo apt install build-essential python3-dev libssl-dev inotify-tools python3-dbus libdbus-1-dev libdbus-glib-1-dev
Téléchargez le dernier ngrok
client pour Linux sur le site officiel à https://ngrok.com/download . Le ngrok-client
package des référentiels Ubuntu est trop ancien et ne répond pas aux exigences.
Décompressez l' ngrok-stable-linux-amd64.zip
archive téléchargée . Il contient un seul ngrok
binaire, que vous devez placer dans un emplacement sur votre $PATH
, par exemple dans /usr/local/bin/
.
L'inscription à ngrok n'est probablement pas nécessaire.
Installez l' onedrived
application Python3 à partir de GitHub en utilisant pip3
:
sudo -H pip3 install git+https://github.com/derrix060/onedriveClient.git
Configurez éventuellement un emplacement de fichier journal pour onedrived
, où vous pouvez vérifier les problèmes si quelque chose ne fonctionne pas correctement, par exemple:
onedrived-pref config set logfile_path ~/.config/onedrived/onedrived.log
Une fois l'installation réussie, vous devez configurer votre compte et lecteur (s):
Ajoutez votre compte OneDrive Entreprise en utilisant le mode interactif en exécutant:
onedrived-pref account add -b
L'assistant interactif vous demandera deux fois d'ouvrir un lien dans votre navigateur, où vous devrez autoriser l'application avec votre compte Microsoft Business.
Il vous demandera de coller l'URL vers laquelle vous êtes redirigé après avoir confirmé l'autorisation dans l'assistant interactif. Veuillez suivre les instructions et suivre les instructions de la commande.
Vérifiez que le compte a bien été ajouté en vérifiant la sortie de la commande ci-dessous. Il devrait ressembler et répertorier le compte avec lequel vous êtes connecté:
$ 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
Configurez vos disques en mode de commande interactif en exécutant:
onedrived-pref drive set
Vous verrez une liste de tous vos lecteurs et vous serez invité à entrer le numéro de ligne du lecteur que vous souhaitez ajouter à votre configuration locale.
Vous devez ensuite spécifier un répertoire local que vous souhaitez utiliser comme dossier racine pour la synchronisation avec votre lecteur. Vous pouvez simplement frapper Enteret il utilisera la valeur par défaut ~/OneDrive
. Si le chemin n'existe pas, il sera créé. Même chose pour le chemin d'accès au fichier ignoré que vous souhaitez utiliser, vous pouvez simplement appuyer sur Enteret il utilisera la valeur par défaut ~/.config/onedrived/ignore_v2.txt
et le créera, si nécessaire.
Vérifiez la sortie de la commande ci-dessous pour afficher les informations sur tous les disques disponibles et configurés. Il devrait montrer le lecteur que vous venez de configurer avec les bons paramètres sous le titre Drives that have been set up
:
onedrived-pref drive list
Maintenant que votre lecteur est configuré, vous devez essayer de démarrer le onedrived
démon. Je recommande de le lancer en mode débogage d'abord, au cas où il y aurait des problèmes que vous auriez autrement manqués. Cela commencera onedrived
au premier plan:
onedrived start --debug
Si tout va bien et que la commande ne se bloque pas et ne se ferme pas, essayez de placer des fichiers dans votre dossier OneDrive local et voyez s'il se synchronise. Vous devriez probablement être en mesure de vérifier cela en visitant l'application Web OneDrive à https://www.office.com et en vérifiant si les fichiers que vous avez ajoutés localement y apparaissent.
Vous pouvez à nouveau quitter le onedrived
processus dans votre terminal en appuyant sur Ctrl+ C.
Pour lancer onedrived
normalement, en tant que démon d'arrière-plan, exécutez-le avec:
onedrived start
Vous devriez probablement ajouter cette commande à vos applications de démarrage, afin qu'elle démarre automatiquement chaque fois que vous vous connectez. Veuillez vous référer à Comment puis-je démarrer les applications automatiquement à la connexion? pour ça.
Si vous souhaitez obtenir des notifications sur le bureau chaque fois onedrived
qu'une erreur est enregistrée (par exemple, la synchronisation des fichiers a échoué), voici un script wrapper qui analyse le fichier journal en temps réel et utilise notify-send pour vous les afficher.
Vous pouvez démarrer le script wrapper sans arguments (ou le placer dans vos applications de démarrage automatique) au lieu de la onedrived start
commande.
#!/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
rclone prend en charge OneDrive Entreprise. Voir un article Comment monter OneDrive sous Linux à l'aide de Rclone (prend en charge les comptes professionnels et personnels) - Linux Uprising Blog pour l'utilisation.
Voici mon exemple pour configurer une nouvelle télécommande onedrive1
avec rclone 1.48.0 (sur 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
L'URL du lecteur 0 se termine par /ElementinnerHTML
et ne contient pas de fichiers dans mon cas.
Montez-le ensuite sur un répertoire local via la ligne de commande, rclone-browser ou l'interface graphique Web depuis la v1.49 .