OSS探訪GitHubでログイン

暗号化と重複排除を備えたバックアップを複数の保存先へ作成・復元する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
36,402
主要言語
Go
ライセンス
BSD-2-Clause
リポジトリ最終更新
2026/10/01
ページ内ナビ

概要

Linux、macOS、Windowsなどで使えるコマンドラインのバックアップツールです。保存前にデータを暗号化し、重複した内容を除いてスナップショットを作成します。ローカルディレクトリからSFTP、S3互換ストレージ、rclone経由のサービスまで保存先を選べます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

暗号化と重複排除をバックアップ処理に組み込む

保存先を信頼しない前提でデータの機密性と完全性を守り、同じ内容は保存前に重複排除します。増分のスナップショットは新しく加わった実データを中心に保存する設計です。

出典:[1]

作成したスナップショットを検査し、必要な場所へ復元する

snapshotsで履歴を一覧し、checkでリポジトリを検査できます。restore latest --target ...で最新スナップショットを別ディレクトリへ復元でき、対象ホストやパスでスナップショットを絞ることもできます。

出典:[2][3]

向いている用途

端末とサーバーのバックアップを同じCLIで管理する

個人端末の作業ファイルからサーバーの定期バックアップまで、スクリプト化できるCLIを求める場面に向きます。ローカル、SFTP、REST、Amazon S3、OpenStack Swift、Backblaze B2、Azure Blob Storage、Google Cloud Storage、rclone経由の保存先を選べます。

出典:[1]

導入前の確認

鍵の喪失と復元時の上書きを運用で防ぐ

リポジトリのパスワードを失うとデータは復元できません。復元先では既存ファイルを既定で上書きするため、まず別ディレクトリで確認してください。Windowsでシンボリックリンクや完全なセキュリティ記述子を復元する場合は追加権限が必要です。

出典:[1][3][4]

参考にした公式資料

  1. [1]restic v0.19.1 README(2026-10-04)
  2. [2]restic v0.19.1 introduction and quickstart(2026-10-04)
  3. [3]restic v0.19.1 restore documentation(2026-10-04)
  4. [4]restic v0.19.1 encryption documentation(2026-10-04)
  5. [5]restic v0.19.1 release(2026-10-04)
  6. [6]restic GitHub repository metadata(2026-10-04)
  7. [7]restic v0.19.1 license(2026-10-04)
編集部からの補足

バックアップ速度だけでなく、鍵の保管、定期的なcheck、別ディレクトリへの復元訓練まで含めて評価したい道具です。同じ端末内だけの保存で終わらせず、障害領域の異なる保存先も検討してください。

3ステップで試す

  1. 1

    ローカル検証用のファイルを用意する

    resticが利用できることを確認し、実データに触れない専用ディレクトリと小さな検証ファイルを作ります。

    restic version && mkdir -p restic-demo/source restic-demo/repository && printf '%s\n' 'restic local restore check' > restic-demo/source/example.txt && cd restic-demo
  2. 2

    暗号化リポジトリを初期化してバックアップする

    bashまたはzshのread -rsで一時パスワードを画面に表示せず入力し、ローカルリポジトリを初期化して検証ファイルを保存します。このパスワードは検証終了まで保持してください。

    printf 'Enter a temporary repository password: ' && read -rs RESTIC_DEMO_PASSWORD && printf '\n' && export RESTIC_PASSWORD="$RESTIC_DEMO_PASSWORD" && restic -r repository init && restic -r repository backup source
  3. 3

    スナップショットを復元して照合する

    履歴を確認して別ディレクトリへ復元し、元の検証ファイルと内容が一致することを確かめます。

    restic -r repository snapshots && restic -r repository restore latest --target restored && restored_file="$(find restored -name example.txt -type f -print -quit)" && test -n "$restored_file" && diff source/example.txt "$restored_file"
公式READMEで確認

成長

成長の推移 · 直近30日

36,402 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
16
Open PR
137

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • go
  • restic
  • backup
  • deduplication
  • dedupe
  • secure-by-default
Stars
36,402
Forks
1,902
Watchers
239
Open Issues
477
Contributors
398
所有者種別
Organization
主要言語
Go
ライセンス
BSD-2-Clause
リポジトリ最終更新
2026/10/01

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?