web-dev-qa-db-ja.com

NASをSpiderOakクラウドにバックアップする方法

私はDebianLinuxベースのNAS(ネットワーク接続ストレージ)from Synology で、映画、音楽、写真などを保持しています...

NASはIntelx64プロセッサ上に構築された最新のDSM 6ファームウェアを実行しています。自動バックアップジョブを SpiderOakクラウド にセットアップしたいと思います。

問題は、 ほとんど情報がない 私が見つけることができたということです。 SpiderOakは基本的に、USBキーをバックアップするのと同じように、PCに外付けドライブとしてマウントしてNASをバックアップすることをお勧めします。これには、いくつかの理由で問題があります。

  • PCがNASと同じネットワーク上にある場合にのみ機能します
  • NAS >>ルーター>> PC >>ルーター>>クラウドからのデータフローは、LANを不必要に詰まらせ、PCリソースを使用します。理想的には、NAS >>ルーター>>クラウド
  • 通常、複数のコンピューターがNASを共有します。 NASとPCデータを同じデバイスからのものとして設定すると、データを復元するときに問題が複雑になります

NASをSpiderOakに正常にリンクした場合は、ここでどのようにリンクしたかを共有してください。別のNASであっても、他の人に役立つと思います。良いフィードバックがあれば、お知らせします。このリソースをSpiderOakサポートに知らせてください

3
BeetleJuice

SynologyでSpiderOak6をセットアップするにはNAS DSM6ファームウェアを実行中

序文

以下の手順は、DSM 6.0.2を実行しているSynology DS216 +で実行されましたが、Linuxを実行している他のNASで動作する可能性があります。変更。使用したSpiderOakのバージョンは6.1.3でした

出発点として このページこのページ に大きく依存しました。

注意すべきいくつかの事柄:

  • これらの手順は2016年11月現在有効です。

  • コマンドを実行または実行するように指示する場合は常に、SSHを参照しています(詳細は以下を参照)。以下のすべてのSSHコマンドは、rootユーザーとして実行する必要があります。コマンドを実行する前に、各コマンドの機能を理解することをお勧めします。

  • インストールする必要のあるパッケージは、CPUアーキテクチャによって異なります。 SSHでdpkg --print-architectureを実行すると、自分のものを見つけることができます。
  • 以下のステップ26が失敗する理由、またはそれを修正する方法を知っている場合は、共有してください!

SSHを有効にする

  1. http:<NAS-IP-ADDRESS>に移動して、DSM(NASのWebダッシュボード)にログインします。
  2. DSM内で、Control Panel >> Terminal & SNMPを開きます
  3. Enable SSH serviceを確認してください

NASにSSHで接続する

  1. SSHクライアントを取得します(私は使用しました PuTTY SSH for Windows ; MacにはSSHクライアントが組み込まれています:ターミナル)
  2. NASのLANIPアドレスとSSHポートを見つけます。 IPは、DSM内のControl Panel >> Info Center >> Network tabに表示されます。 SSHポートはデフォルトで22です。
  3. IPとポートを使用してSSH経由で接続します。 DSMログイン資格情報を使用します。
  4. SSHで:Sudo -iを実行してrootユーザーになります。管理者パスワードをもう一度入力する必要があります。詳細については、 このFAQ を参照してください。

Entware-ng(opkgパッケージマネージャー)をインストールします

  1. SSHから、 これらの手順 に従ってopkgパッケージマネージャーをインストールします。
    a。インストールする適切なバージョンを決定するには、dpkg --print-architectureを実行します。たとえば、AMD64は、バージョンx86 64ビットが必要であることを意味します。

    b。ファイルの編集が必要な手順は、Vimエディターを使用して実行できます。たとえば、/ etc/rc.localを編集するには、vi /etc/rc.localを実行します。これが Vimの簡単な紹介

    c。 DSM 6ファームウェアの場合、Entware-ng命令で編集/ root/.profile、代わりに/ etc/profileを編集

  2. NASを再起動し、SSHにログインし、Sudo -iを実行してrootユーザーになります

  3. opkg install nanoを実行して、Vimよりも簡単なテキストエディターを入手します。

SpiderOakOneをインストールします

  1. SpiderOak Webサイト に移動して、デバイスに一致するインストールパッケージのURLを取得します。私のNASは64ビットプロセッサを搭載しているので、Linux Debian 64ビットを選択しました。私のPACKAGE-URLhttps://spideroak.com/getbuild?platform=ubuntu&Arch=x86_64です。
  2. 実行:cd /rootルートディレクトリを開きます
  3. 実行:wget –output-document=spideroak.install.deb <YOUR-PACKAGE-URL>を実行して、パッケージをダウンロードして保存します
  4. spideroak.install.debが保存されたことに気づいたら、Ctr+cを押してプロンプトに戻ります。
  5. 実行:dpkg-deb -x spideroak.install.deb SpiderOakONEを実行して、ダウンロードしたファイルを/ root/SpiderOakONEディレクトリに抽出します
  6. 実行:rm spideroak.install.debダウンロードしたパッケージを削除します
  7. 実行:mv SpiderOakONE /opt/SpiderOakONEを実行して、プログラムファイルを/ optに移動します
  8. 実行:sed -i /opt/SpiderOakONE/usr/bin/SpiderOakONE -e s+/opt/SpiderOakONE+/opt/SpiderOakONE/opt/SpiderOakONE+これにより、SpiderOakの起動スクリプトのパスが手順17の正しいパスを指すように修正されます。代わりに手動でこれを行うには、/ opt/SpiderOakONE/usr/bin/SpiderOakONEそしてファイル内の/ opt/SpiderOakONEのすべてのインスタンスを/ opt/SpiderOakONE/opt/SpiderOakONEに置き換えます
  9. 大量のデータをバックアップする場合は、バックアップ中にSpiderOakデータフォルダーが大きくなります。私の場合、これによりシステムパーティションがいっぱいになり、NASが正しく機能しなくなりました。これを修正するために、データフォルダをすべてのデータが保存されている一般的なパーティションに移動しました:/ volume1

    a。 mkdir /volume1/SpiderOakONEを実行して、新しいデータディレクトリを作成します。 / volume1を一般的なデータパーティションに置き換えます。

    b。実行:ln -s /volume1/SpiderOakONE/ /root/.config/SpiderOakONEを使用してシンボリックリンクを作成し、古い/ rootの場所にアクセスすると自動的に新しい場所にリダイレクトされるようにします

NASをSpiderOakアカウントに追加

  1. 実行:ln -s /opt/SpiderOakONE/usr/bin/SpiderOakONE /opt/bin/spideroakを実行して、プログラムの実際のパスにリダイレクトするシンボリックリンク/ opt/bin/spideroakを作成します。これにより、フルパスを入力する代わりに、SSHにspideroakと入力するだけでプログラムを実行できます。
  2. 実行:spideroak --helpを実行して、使用可能なオプションを確認します。そのコマンドが「コマンドが見つかりません」を返す場合、ステップ20は意図したとおりに機能しませんでした。代わりに、フルパス/opt/SpiderOakONE/usr/bin/SpiderOakONE –-helpを使用してプログラムを実行することもできます。
  3. 実行:spideroak --setup=-でNASをサービスに登録します。SpiderOakのユーザー名とパスワードが必要です

基本コマンド

  1. 実行:spideroak --include-dir=<PATH>を実行して、バックアップセットにディレクトリを追加します。パスの例は/volume1/Picturesです。代わりに--exclude-dir=<PATH>を使用して、特定のディレクトリを除外できます。パスにスペースが含まれている場合は、二重引用符で囲む必要があります。
  2. 現在バックアップ用に選択されているものを確認するには、spideroak --selection;を実行します。 spideroak --reset-selectionを実行してリセットします。
  3. バックアップジョブを実行するには、次のコマンドを実行します。spideroak --batchmodeログファイルを生成する場合は、--redirect=<FILE_PATH>引数を追加できます。 SSH接続が切断されると(例:PCがスタンバイ状態になると)バックアップが中断されるため、バックアップをNAS自体(次のセクションを参照)によってcronジョブとして実行するようにスケジュールすることをお勧めします)

バックアップスケジュールを設定する

  1. DSM(Webコントロールパネル)には、Control Panel >> Task Schedulerで定期的に実行されるタスクをスケジュールする機能が含まれています。これを使用して、spideroak --batchmodeなどのコマンドで定期的なバックアップをスケジュールできるはずですが、このコマンドはSSHをrootとして実行すると機能しますが、タスクスケジューラがrootとして実行しようとすると失敗します。理由はわかりません。代わりに、SSHを介して手動でcrontab(スケジュール)を編集しました。
  2. NASでcrontabを編集する方法を探しましょう。私の場合、次の4つの手順が適用されます。
  3. システムでスケジュールされたタスクは、ファイル/ etc/crontabに保存されます。 cp /etc/crontab /etc/crontab.bakを実行して、バックアップコピーを作成します。後でcrontabの編集で問題が発生した場合は、cp /etc/crontab.bak /etc/crontabを使用して作業中のバックアップから復元します。
  4. 実行:nano /etc/crontabを実行して、編集のスケジュールを開きます。 Nanoテキストエディタはステップ10でインストールされました。簡単なWeb検索で、crontabのフォーマット方法に関するヒントが得られます。たとえば、毎晩午後10時30分にバックアップジョブを実行するには、次の行をファイルに追加します。

30 22 * * * root spideroak --batchmode

列はスペースではなくタブで区切る必要があります。コマンドの実行に失敗した場合は、spideroakをフルパスに置き換えます(手順21を参照)。結果をログに記録するには、引数--redirect=<FILEPATH>を追加すると、Spideroakはそのパスにログを書き込みます。

  1. 長いバックアップが完了するのを待たずに動作するかどうかをテストするだけの場合は、--batchmode--selectionなどのはるかに短いプロセスに置き換え、ログで結果を確認します。
  2. 最後に、編集内容がシステムの再起動後も存続するかどうかを確認します。 NASを再起動し、SSHにログインし、Sudo -iを実行してrootになり、nano /etc/crontabを実行してスケジュールを調べます。

完了しました!

トラブルシューティングとヒント

  1. SSHで、以前は機能していたコマンドに対してエラー「コマンドが見つかりません」が表示される場合は、/ opt/binまたは/ opt/sbinがパスにありません:

    a。 vi /etc/profileを実行し、ファイルのPATHセクションを編集します(PATH文字列の最後に:/opt/bin:opt/sbinを追加します)

    b。 NASを再起動します

  2. SpiderOakを実行して「新規ユーザーセットアップ中にコマンドライン引数は許可されていません」を取得した場合、手順19.bで作成したシンボリックリンクが破棄されたため、Spideroakが作成できなかった可能性があります。そのデータフォルダを見つけます。やり直し19.b.
  3. インストールが破損した場合は、spideroak --setup=-を使用してデバイスをサーバーに再初期化できます。セットアップ後、プログラムは必要に応じてすぐにバックアップを完了するため、これには時間がかかる場合があります。私のNAS 12時間かかりました。
  4. NASを一度工場出荷時設定にリセットする必要があったため、この設定は部分的に失われました。リセット後に動作させるには、手順8.b、19.b、20をやり直す必要がありました。再起動し、cronジョブを再作成します(ステップ26から31)
  5. SSHコマンドがアクセス許可に関するエラーで失敗した場合は、whoamiを実行します。結果に "root"と表示されない場合は、Sudo -iを実行してrootになります(DSMパスワードが必要になります)
4
BeetleJuice

Dockerソリューションを作成しました:

https://hub.docker.com/r/jandebleser/spideroak/

https://github.com/jandebleser/spideroak

主な問題は、Synologyサーバー上のDockerアプリケーションで、コマンドライン引数を渡すことができないことでした。

ユーザー名、パスワード、デバイス名を使用してconfig.jsonファイルを作成する必要があります。このファイルとバックアップするフォルダをマウントします。次に、環境変数SLEEPを「無限大」に設定して、コンテナを起動して何もしません。次に、[ターミナル]タブに移動し、bashコマンドを開始して、

SpiderOakONE --setup=/config.json
SpiderOakONE --include-dir=/backup

通常の操作では、SLEEP変数を0に設定して、再起動します。

0
Jan DB