\r\n\r\n
googledriveの公式Linuxクライアントはまだありませんが、rcloneユーティリティを使ってコマンドラインから直接googledriveにバックアップすることができます。この方法を紹介します。
2012年にLinuxのサポートが "coming soon "と約束されているにもかかわらず、GoogleがGoogleDriveのネイティブLinuxクライアントを作成する気配はない。InSync、overGrive、ODriveなどの非公式なサードパーティソリューションがあり、GNOMEのFilesなど、Google Driveとの統合を可能にするファイルブラウザもある。
サードパーティアプリケーションは商用製品であり、直接購入または購読が必要です。これらはよく機能し、費用もあまりかかりません。実際、overGriveには、限られた機能を無料で提供するフリー版があります。
しかし、コマンドラインからバックアップを作成・実行したい場合はどうすればよいのでしょうか。あるいは、その機能をスクリプトに統合する?これはすべて、rcloneという素晴らしいアプリケーションのおかげです。実際、rcloneを使用すると、40以上の異なるクラウドソリューションにファイルをバックアップ、ダウンロード、同期することができます。まるでクラウド上の同期のようです。
デフォルトでは、Linuxコンピュータにrcloneはほぼ間違いなくインストールされません。幸いなことに、すべてのディストリビューションで実行可能なインストールスクリプトがあります。インストールにはcurlを使用します。この記事の調査に使用したパソコンでは、Fedora 31とManjaro 18.1.0にはcurlが既にインストールされていますが、Ubuntu 18.04 LTSにはインストールする必要があります。
Ubuntuの場合、以下のコマンドを実行してインストールします。
sudo apt-get install curlcurlをインストールした後、以下のコマンドでrcloneをインストールします。
curl https://rclone.org/install.sh | sudo bashrcloneのインストールが完了すると、成功のメッセージが表示されます。
これにより、Linuxコンピュータにrcloneプログラムが既にインストールされています。次に、インストール作業を実行し、Google Driveにアクセスするためのrcloneを検証します。
遠隔地のクラウドサービスに接続することを、rcloneの世界では「リモート」と呼んでいます。Google Drive用に作成する必要があります。以下のコマンドでrcloneの設定処理を開始します。
rclone config設定作業には多くの問題がありますが、がっかりしないでください。多くの問題は、デフォルト値のままで、「Enter」キーを押すだけで受け入れ可能です
rcloneは、リモートコントロールが設定されていないことを教えてくれます。n "を押し、"Enter "を押すと、新しいリモコンが作成されます。名前を入力するように促されます。私たちは「Googleドライブ」と呼んでいますが、呼び方は何でもいいんです。
ロングメニューでは、リモート接続を作成するストレージの種類を選択することができます。
リストをスクロールして、Googleドライブのエントリーを見つけ、その番号をメモします。
この例では、13番であることがわかります。ストレージの種類としてこれを入力し、"Enter "キーを押します。
Google AppsのクライアントIDの入力を求められます。「Enter」キーを押して、デフォルトを受け入れます。
その後、Google Appsクライアントのパスワードを入力するよう促されます。
ここでも「Enter」キーを押すだけで、Google Drive上で実行した場合のrcloneのスコープを聞かれます。"1 "を押し、"Enter "を押す
ルートフォルダーのID」は、"Enter "キーを押すだけです。
Service Account Credentials "のプロンプトで、"Enter "を押します。
Edit advanced configuration "プロンプトで、"Enter "を押すだけ。"Use automatic configuration "メニューで、"y "を押し、"Enter "を押すだけ。
これにより、rcloneがGoogle Driveと通信し、ブラウザが起動し、rcloneにGoogle Driveと対話するための権限を付与することができます。
ブラウザのウィンドウで、使用するGoogleアカウントをクリックします。
許可」ボタンをクリックして、rcloneがGoogle Driveにアクセスすることを許可します。
ブラウザーを閉じて、「ターミナル」ウィンドウに戻ることができます。
Configure this as a team drive "のプロンプトで "n "を入力し、"Enter "キーを押します。
"はい、編集、削除 "メニューに "y "と入力し、"Enter "キーを押す
最後のメニューで、"q "と入力し、"Enter "キーを押します。
rcloneアプリは非常に機能が豊富です。それはそれでいいのですが、選択肢が多いということです。これから紹介するコマンドは、ローカルコンピュータからGoogle Driveにファイルをコピーするものです。これは、クラウドへの一方向のコピーであり、Google Driveとローカルコンピュータ間の双方向の同期ではありません(rcloneで可能)。基本的なオフサイトバックアップとして利用しています。
テキストエディタに入力(またはコピー&ペースト)して、コンピュータに保存してください。私たちはgbk.shと呼んでいますが、あなたが好きなように呼ぶことができます。
#!/bin/bash /usr/bin/rclone copy --update --verbose --transfers 30 --checkers 8 --contimeout 60s --timeout 300s --retries 3 --low-level-retries 10 --stats 1s "/home/dave/Documents" "google-drive:LinuxDocs"パラメータの意味は次のとおりです。
これらの値の一部はデフォルトですが、議論できるようにここに記載しました。こうすることで、値を変更する必要がある場合、どのパラメータを調整すればよいかがわかります。
以下のコマンドで、スクリプトを実行可能な状態にします。
chmod +x gbk.shバックアップスクリプトは、ドキュメントフォルダをGoogle Driveにコピーします。ドキュメント」フォルダの中に、楽譜一式があります。
以下のコマンドで、バックアップスクリプトを起動することができます。
./gbk.sh統計情報を1秒ごとに更新すること(--stats 1s)と、詳細な情報を出力すること(--verbose)をお願いしました。画面出力が多いのは当然といえば当然です。新機能の詳細出力をオンにすることで、問題を発見しやすくなることがよくあります。うまくいっていると感じたら、出力を下げればいいのです。
最終的には、60個のファイルがエラーなく転送されたことを示すサマリーが表示されます。
それでは、私たちのGoogle Driveで、クラウドストレージがどうなっているのか見てみましょう。
LinuxDocs」ディレクトリが作成されたので、期待できそうです。ダブルクリックして中を確認すると、すべてのファイルがGoogle Driveに転送されていることがわかります。
ターミナルウィンドウからrclone:を使って、Google Drive上のフォルダを表示することができます。
rclone ls google-drive:/LinuxDocsこのようなレプリケーションをコマンドラインから直接実行できるのはありがたいですね。クラウドストレージの利用をスクリプトに統合し、バックアップスクリプトの実行をcronでスケジュールすることができます。
rcloneは非常に豊富なコマンドを備えており、そのドキュメントと素晴らしいウェブサイトをチェックすることをお勧めします。ここでは、まだ表面しか見ていませんが、少し読んで、rcloneで遊んでみると、その努力の何倍もの報酬が得られるでしょう。
技術的に言えば、これは本当の意味でのバックアップではありません。ファイルやデータのオフサイトリモートコピーであることは間違いないのですが、あくまでファイルのコピーに過ぎません。バージョン管理など、真のバックアップソリューションが提供する機能はありません。
そのため、rcloneは他のバックアップ技術と併用してください。既存のバックアップの仕組みのもう一つの層として、rcloneは自宅やオフィスから地理的に離れた場所にデータを保存する簡単な方法です。これはきっと、いいことなんだろう。