同じファイルセットを共有しない複数のジョブ定義を持つクライアントに対して、バッチ(非対話型)復元を実行する方法を探しています。
単一のファイルセットを持つクライアントの場合、発行できます
restore client="example.eu" jobid=99,152 where="/tmp" select current all done yes
これをbconsole
にパイプすると、指定されたジョブID(単一のファイルセットに属する)に対して復元ジョブがスケジュールされます。
特定のクライアントのbconsoleプロンプトに複数のファイルセットが存在する場合:
Using Catalog "MyCatalog"
The defined FileSet resources are:
1: example.eu fileset_1
2: example.eu fileset_2
3: example.eu fileset_3
Select FileSet resource (1-3):
これにより、バッチジョブとして実行できなくなります。
では、カタログに複数のファイルセットがあるクライアントに対して同じバッチ動作を行うにはどうすればよいですか?
復元コマンドのfileset=fileset_1
オプションのようなものを期待します。
誰かがここにたどり着いた場合に備えて、掘り下げた後、プロセスをいくつかのステップに分割することになりました。
restore
のfile=</tmp/file_list
オプションを使用して、file_list
ファイルにリストされているファイルをフェッチするようにbaculaに指示します。restore client="example.eu" jobid=99,152 file=</tmp/file select current all done yes
復元をより透過的にしたいので、このソリューションにはあまり満足していません。
プロではありませんが、「bextract」を使用して復元してみてください。 「-i」オプションは、抽出するフォレダーとファイルのリストを含むインクルードファイルを指定します。完全なコマンドは次のようになります。bextract-i-b/ archive/device/path/to/restore