Microsoft OneDrive Business / Office 365 Proは1 TBのクラウドストレージを提供しますが、残念ながらLinuxで同期する方法はありませんでした。
Microsoft OneDrive Business / Office 365 Proは1 TBのクラウドストレージを提供しますが、残念ながらLinuxで同期する方法はありませんでした。
回答:
現在、実験的なonedrive-dは、Microsoft Sharepointリンクを受け入れないため、個人のOneDriveアカウントのみを同期できるオープンソースプログラムです。以下は、個人用に無料のGoodSync for Linuxを使用してOneDrive Business / Office 365を同期する方法です。
Linuxマシンに適切なバージョンをインストールします。例:
./goodsync-linux-x86_64-release.run
GoodSync ConnectセットアップとGsServer Web UIの両方について、n oで答えてください。
https://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents/Forms/All.aspx
になります。それに基づいて、同期リンクを取得しますoffice365://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents
。自宅の.goodsyncサブフォルダーに新しいファイルを作成します。
gedit ~/.goodsync/jobs.tix
ファイルに次のコードを入力して保存します。
<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>
同期プロセスを開始します。
gsync sync "OneDrive_Sync"
このステップで、WebブラウザがOneDrive / Office 365ページを開き、goodsyncがアカウントにアクセスできるようにするための承認を求めます。資格情報を入力すると、同期が開始されます。
制限:マイクロソフトは270文字を超えるURLリクエストを許可していないため、GoodSyncは長いパス名を持つファイルを同期できません。
楽しい!
Ubuntu 18.04以降のデフォルトのUbuntuリポジトリにはOneDriveクライアントがあります。OneDriveは、Microsoftのクラウドストレージシステムです。このパッケージは、OneDriveクラウドストレージとの同期に特化したコマンドラインクライアントを提供します。
以下でインストールします:
sudo apt install onedrive
最初の実行時に、リンクで認証するように求められます。認証後はあなたがデーモンを有効にすることができsystemctl --user enable onedrive
、その後とsystemctl --user start onedrive
。詳細については、マンページを参照してくださいman onedrive
。セットアップは非常に簡単で、所要時間はわずか5分です。
onedrived
xybu が元々一般的に使用しているツールはまだOneDrive for Businessをサポートしていませんが、個人のOneDriveのみをサポートしています。ただし、derx060によるGitHubには、このプロジェクトの分岐点があり、ビジネスクライアント用に何らかの機能を備えた(ただしまだバグのある)実装があります。
警告:この方法を使用する場合、https://www.office.comでオンラインでファイルをチェックして、ファイルが正しく同期されたことを常に確認するか、このページの最後に示されているラッパースクリプトを使用することを強くお勧めします少なくともデスクトップ通知を使用してエラーを通知します!
onedrivedは、一部の変更の取得に失敗したり、正しくアップロードしたりして、OneDriveが(部分的に)同期されていない状態のままになることがあります。また、何らかの理由でそれ自体とのマージの競合が発生し、ホスト名を括弧とオプションの数字で追加することにより、ローカルでファイル名を変更することもあります。残念ながら、エラーに関する通知はありませんが、ログファイルのエントリを見ることができます。
これが発生した場合、たとえば、ファイルに触れたり、名前を変更したり、それらが入っているフォルダーを変更したりして、それぞれのファイルの同期を再試行できます。
ヒント: onedrivedライブラリには、特にOneDriveルートに直接保存されたファイルに関する問題があることが多いようです。OneDriveフォルダーに直接ファイルをダンプするのではなく、すべてのファイルをサブディレクトリに配置することをお勧めします。
馬鹿げているように聞こえますが、ファイルを作成またはコピー/移動するよりも、OneDrive Webクライアントを介してファイルをアップロードし、ローカルフォルダーに同期されるまで待つ(ただし、数分かかる場合がある)ことで問題が少ないようです。ローカルに。これが実用的であるか完全に無効であるかは、OneDriveの目的はあなた自身の決定次第です...
完全なインストール手順については、プロジェクトのreadmeファイルを参照してください。ただし、簡単な要約を次に示します。
他のバージョンonedrived
(またはonedrive-d
)がインストールされていないことを確認してください。
依存関係パッケージをインストールします。
sudo apt install build-essential python3-dev libssl-dev inotify-tools python3-dbus libdbus-1-dev libdbus-glib-1-dev
ngrok
Linux の最新クライアントを公式Webサイトhttps://ngrok.com/downloadからダウンロードします。ngrok-client
Ubuntuリポジトリのパッケージは古すぎて、要件を満たしていません。
ダウンロードしたngrok-stable-linux-amd64.zip
アーカイブを解凍します。これは、単一含まれngrok
、あなたの上の場所に置くべきバイナリ、$PATH
に、例えば/usr/local/bin/
。
ngrokへのサインアップはおそらく必要ありません。
onedrived
以下を使用してGitHubからPython3アプリケーションをインストールしますpip3
。
sudo -H pip3 install git+https://github.com/derrix060/onedriveClient.git
オプションで、のログファイルの場所を設定しますonedrived
。ここで、何かが正しく動作しない場合に問題をチェックできます。例:
onedrived-pref config set logfile_path ~/.config/onedrived/onedrived.log
インストールが成功したら、アカウントとドライブを設定する必要があります。
以下を実行して、インタラクティブモードを使用してOneDrive for Businessアカウントを追加します。
onedrived-pref account add -b
対話型ウィザードは、ブラウザでリンクを開くように2回要求します。リンクを開くには、Microsoft Businessアカウントでアプリケーションを承認する必要があります。
承認を確認した後、リダイレクト先のURLを対話型ウィザードに貼り付けるように求められます。指示どおりに実行し、コマンドの指示に従ってください。
以下のコマンドの出力を確認して、アカウントが正常に追加されたことを確認します。次のように表示され、ログインしているアカウントがリストされます。
$ 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
以下を実行して、対話型コマンドモードでドライブを構成します。
onedrived-pref drive set
すべてのドライブのリストが表示され、ローカル構成に追加するドライブの行番号の入力を求められます。
次に、ドライブと同期するためのルートフォルダーとして使用するローカルディレクトリを指定する必要があります。ヒットするだけでEnter、デフォルトが使用されます~/OneDrive
。パスが存在しない場合は作成されます。使用する無視ファイルへのパスについても同じことが言えます。ヒットするだけで、必要に応じEnterてデフォルトを使用して~/.config/onedrived/ignore_v2.txt
作成します。
以下のコマンドの出力を確認して、使用可能な構成済みのすべてのドライブに関する情報を表示します。見出しの下に正しい設定でセットアップしたドライブが表示されますDrives that have been set up
:
onedrived-pref drive list
ドライブが構成されたので、onedrived
デーモンを試行して起動する必要があります。そうでなければ見逃してしまうような問題が発生した場合に備えて、まずデバッグモードで起動することをお勧めします。これはonedrived
フォアグラウンドで開始されます。
onedrived start --debug
すべてが正常で、コマンドがクラッシュして終了しない場合は、ローカルのOneDriveフォルダーにいくつかのファイルを配置して、同期するかどうかを確認してください。おそらく、https: //www.office.comのOneDrive Webアプリケーションにアクセスし、ローカルに追加したファイルがそこに表示されているかどうかを確認することで、そのことを確認できるはずです。
+ onedrived
を押すと、端末のプロセスを再び終了できます。CtrlC
onedrived
バックグラウンドデーモンとして正常に起動するには、次のコマンドで実行します。
onedrived start
おそらく、このコマンドをスタートアップアプリケーションに追加して、ログインするたびに自動起動するようにする必要があります。ログイン時にアプリケーションを自動的に起動するにはどうすればよいですかを参照してください。そのために。
onedrived
エラー(ファイル同期の失敗など)をログに記録するたびにデスクトップ通知を取得する場合、ログファイルをリアルタイムで解析し、notify-sendを使用して表示するラッパースクリプトを次に示します。
onedrived start
コマンドの代わりに、引数なしでラッパースクリプトを起動(または自動起動アプリケーションに配置)できます。
#!/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はOneDrive for Businessをサポートしています。Rcloneを使用してLinuxにOneDriveをマウントする方法(ビジネスおよび個人アカウントをサポート)-Linux Uprising Blogの使用方法の記事を参照してください。
これは、onedrive1
rclone 1.48.0(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
/ElementinnerHTML
私の場合、ドライブ0のURL はファイルで終わり、ファイルは含まれていません。
次に、v1.49 以降、コマンドライン、rclone-browser、またはWeb GUIを使用してローカルディレクトリにマウントします。