正しいバックアップ方法

正しいバックアップ方法

定期的にホームネットワークのRaspberry Piに自動的にバックアップしたいと思います。自宅でバックアップするだけで十分です。

私が「自動バックアップを実行する方法」について読んだすべてのガイドでは、私のPyにパスワードのないSSHキーを入れるように指示されています。自分のコンピュータにアクセスできる人は誰でも自分のバックアップにアクセスできるので、これをしたくありません。これはバックアップの目的の1つを完全に排除します。

現在のソリューションは、パスワードで保護されたSSHキーとrsyncスクリプトです。動作に時間がかかりましたが、今すぐホームネットワークにログインするとすぐにパスワードの入力を求められ、バックアップされます。

restic今、ある種のバージョンのバックアップが必要なので、使いたいです。他のデバイスもバックアップしたいです。 Resticガイドは、再びパスワードのないSSHキーを使用するように言いました。

今私は反対の考えを持っています。つまり、私の(オフライン)piはパスワードなしで自分のラップトップにSSHでアクセスできます(しかし使用は制限されていますresric)。スクリプトを使用していくつかのsystemd.timerを実行して自分のラップトップにアクセスできることを確認し、その場合はバックアップを開始できます。

しかし、これは深刻に見え、これが一般的なシナリオであると確信しています。しかし、ガイドが見つかりません。

一般的な方向を教えてもらえますか?私がしたいことについてもっと知るために、いくつかの用語も役に立ちます!

ベストアンサー1

組み合わせると、バックアップしたいマシンから接続できるREST APIを提供するサービスを使用して、バックアップサーバーにサービスを設定resticできます。rclone通常REST APIを使用するrcloneresticresticたくさんresticSFTP経由で使用するよりも高速です。

rclone serve restic --helpSSLの使用方法やhtpasswd認証方法など、これについてはよく文書化されています。この文書を注意深く読んでください。。バックアップサーバーがパブリックサーバーであるか(そうではありません)、個人以外の設定のためにバックアップサーバーを実行している場合は、どのような方法でも個々のユーザーを認証してセキュリティを維持する必要があります。

ローカルネットワークの外部で使用できるようにするには、localhostバックアップサーバーとして使用されるホストに少なくとも次の設定が必要です。

rclone serve restic --addr :8080 /var/backup/restic

/var/backup/resticリポジトリを保存するパスは次のとおりですrestic(上記のコマンドを実行するユーザーには、そのパスに対する書き込み権限が必要なため、専用のサービスユーザーを作成する必要があります)。--addr :8080「利用可能なすべてのインターフェイスでポート8080にバインド」を意味します(デフォルトではrcloneバインディングのみlocalhost:8080)。

その後、次のコマンドを使用してここに接続できます(これにより、resticリポジトリが初期化され、自分のホームディレクトリの最初のスナップショットが作成されます)。

restic -r rest:http://backupsrv:8080/testrepo init
restic -r rest:http://backupsrv:8080/testrepo backup "$HOME"

resticここでは、名前付きリポジトリを作成して使用しようとすると、testrepoバックアップサーバーにアクセスできると仮定しますbackupsrv。ホスト名を正しい名前またはIP番号に変更する必要があります。

これにより、リポジトリのパスワードを求めるプロンプトがインタラクティブに表示されますが、通常どおり環境変数にパスワードを渡すことができます(代わりにリポジトリを渡すことができるRESTIC_PASSWORDように)。resticRESTIC_REPOSITORY-r ...


個人用Synology NASで次のDockerコンテナ(ファイルdocker-compose.yml)を実行します。

version: '3'
services:
  rclone:
    image: rclone/rclone:latest
    container_name: rclone
    hostname: diskstation.local
    ports:
      - 18080:8080
    restart: unless-stopped
    command: ["serve","restic","/backup"]
    environment:
      - RCLONE_ADDR=0.0.0.0:8080
      - RCLONE_STATS=1h
      - RCLONE_VERBOSE=1

    volumes:
      - /volume1/Restic/backup:/backup

NASのポート18080でREST APIを提供し、resticここにバックアップを保存できます/volume1/Restic/backup(コンテナのバインドマウントを介して)。rclone隔離されたLAN(ファイアウォールおよびキャリアグレードNATの背後)にあるプライベートNASであるため、セットアップセキュリティは非常に低いです。

おすすめ記事