
自宅サーバーや社内サーバーのバックアップ先として、TeraStationをはじめとするNAS(CIFS/SMB)と、高機能バックアップツール「Restic」を組み合わせている環境は多いと思います。
しかし、「NASのHDD換装やメンテナンスを行った後、自動バックアップがサイレントに失敗し続けていた」というトラブルに遭遇しました。
原因は共有フォルダの再設定漏れによるマウント不能と、リポジトリ初期化時のパスワード不一致の二重トラップでした。
本記事では、同様のトラブルに見舞われた方向けに、切り分けから安全な復旧までの最短手順を記録します。
1. 発生したトラブルと症状
定期バックアップログを確認したところ、以下のようなエラーが連発していました。
- 症状1(マウントエラー):
mount error(2): No such file or directorysudo mount -a を実行してもマウント先が見つからず、そもそもNAS領域にアクセスできない。
- 症状2(Resticの認証エラー):
Fatal: wrong password or no key foundNAS側のリポジトリに対して手動で restic init を実行したものの、スクリプトからの自動バックアップ時にキー不一致で弾かれる。
2. 原因の切り分け
原因1:HDD換装でNAS側の共有フォルダが消滅していた
TeraStationでドライブを交換・再構築した際、以前設定していたバックアップ専用の共有フォルダが消えていました。 Ubuntuの /etc/fstab に書かれたマウント先パスが存在しないため、mount error(2) が発生していました。
原因2:手動入力時のパスワードタイポ
空になったNAS共有フォルダを初期化する際、手動で restic -r /mnt/nas_backup init を実行してパスワードを入力しましたが、既存の自動実行シェルスクリプト(wp-backup.sh)内に定義されている環境変数 RESTIC_PASSWORD とわずかに一致していませんでした。
3. 復旧手順
ステップ1:NAS側の共有フォルダ再作成とマウント確認
まずはNAS側のWeb管理画面で、バックアップ用の共有フォルダ(例: nas_backup)を新規作成し、アクセス権限(Read/Write)を割り当てます。
Ubuntu側から認識できているかを smbclient で確認します。
smbclient -L //192.168.1.xxx -U backupuser%backuppassリストに作成した共有名が見えたら、マウントを実行します。
sudo mount -a
df -h | grep nas_backupNASの容量が正しく表示されればマウント復旧は完了です。
ステップ2:スクリプトのパスワードを使った「ミスゼロ」の再初期化
手動でパスワードを打ち込むと、記号の入力ミスや記憶違いで Fatal: wrong password が再発しやすくなります。
バックアップスクリプトに書かれている設定値をそのまま環境変数に吸い出して初期化することで、確実にパスワードを一致させます。
# 1. 念のためNAS側の空リポジトリを掃除
sudo rm -rf /mnt/nas_backup/*
# 2. スクリプト内のパスワードを抽出し、環境変数にセット
export RESTIC_PASSWORD=$(sudo grep "^RESTIC_PASSWORD=" /root/scripts/wp-backup.sh | cut -d'"' -f2)
# 3. パスワード入力なしで一発初期化
restic -r /mnt/nas_backup initcreated restic repository a1b2c3d4 at /mnt/nas_backupと表示されれば、スクリプトの認証情報と完全に一致した暗号化保管庫が作られます。
ステップ3:手動テスト走行と世代確認
自動実行スクリプトを手動で走らせ、ローカル(NAS)とリモート(Cloudflare R2など)の両方に正しくデータが流れるか検証します。
sudo /root/scripts/wp-backup.sh実行ログで以下の点を確認します。
- DBダンプが正常に通っているか
- NASと外部ストレージの両方で
snapshot xxxxxxxx savedが出ているか --keep-within 7dなどの保持ポリシー(forget&prune)が正常に完走するか
仕上げにスナップショット確認コマンドを実行します。
sudo restic -r /mnt/nas_backup snapshots新環境のバックアップパス(例: /var/www/example.com など)が最新の日時で保存されていれば復旧完了です。
まとめ:トラブルを防ぐ教訓
- NASメンテナンス後はマウント死活を最優先で確認する(
mount -aの成否確認を忘れない) - Resticの初期化は手動入力せず、スクリプトの設定値と連動させる(パスワードの不一致事故を防止)
- ローカルNAS+クラウド(Cloudflare R2等)の二重バックアップにしておくことで、片方が止まってもバックアップの完全断絶を防げる



コメント