以下のアクションを実行するための、機能する udev ルール (Debian 11) の作成を手伝っていただける方はいらっしゃいますか。
- USB ディスク (2 TB 以上) には、たとえば「abc」などのボリューム ID が割り当てられます。
- USB ディスクが Debian 11 ホストの USB ポートの 1 つに接続されている場合、udev ルールを適用する必要があります (つまり、USB デバイスが後でマウントできるように「利用可能」であることをオペレーティング システムに通知します (以下の注 2 を参照))。
ノート:
- 目的は、Windows 10 ネットワーク共有 (Debian サーバー上の Samba によって提供) にあるデータを、rsync または rdiff-backup のいずれかを使用して USB ディスクにバックアップすることです。
- バックアップを実行する夜間の cron ジョブとして起動される bash スクリプトがあります。スクリプトは USB ディスクをマウントします。
- バックアップが完了すると、USB ディスクは cron ジョブによってアンマウントされ、翌日の夜に再マウントされます。
- ユーザーによる操作は一切ありません (物理 USB ディスクを手動で取り外し、別の USB ディスクをサーバーに接続する場合を除く)。
- バックアップ スクリプトには、成功やエラーに関するプロトコルの規定があります。
追加の質問:
- バックアップには、rsync と rdiff-backup のどちらのツールをお勧めしますか?
- USB ディスクにはどのファイルシステムをお勧めしますか? 理想的には、Windows ワークステーション経由でファイルとディレクトリをネットワーク共有に簡単に復元できる必要がありますが、これは必須ではありません。復元は Linux でも実行できます。
- バックアップ手順には「ionice」をお勧めしますか? どのオプションですか?
答え1
USB ディスク (2 TB 以上) には、たとえば「abc」などのボリューム ID が割り当てられます。
USB ディスクが Debian 11 ホストの USB ポートの 1 つに接続されている場合、udev ルールを適用する必要があります (つまり、USB デバイスが後でマウントできるように「利用可能」であることをオペレーティング システムに通知します (以下の注 2 を参照))。
バックアップを実行する夜間の cron ジョブとして起動される bash スクリプトがあります。スクリプトは USB ディスクをマウントします。
これには特別な udev ルールは必要ありません。ディスク (そのファイルシステム) にラベル "abc" がある場合は、/dev/disk/by-label/abc
接続後にシンボリックリンクが作成されるので、cron bash スクリプトでこのパスを使用してデバイスをマウントし、バックアップを実行できます。 を使用すると、ラベルだけでマウントすることもできます。これによりmount LABEL="abc" <mountpoint>
、mount
パス自体が解決されます。