今日は、Windows用のbaculaバックアップの作成/復元についてお話します。
ここに革命的な熱意は見られないことをすぐに警告しますが、情報が一部の行商人に役立つことを願っています(この無料製品の柔軟性を評価するため)。
この記事は、すでにバキュラの経験が少ない人を対象としています。
私が遭遇した制限は、ファイルサイズに制限を設定できないことです。 しかし一方で、baculaはクライアントとサーバーの両方で実行できるコマンドからパイプ経由でファイルのリストを受信することをサポートしています。 詳細はこちら 。
行きましょう。
要件のリスト。
0)ロシア語のファイル名をサポートする必要があります!
1)クライアントに追加のソフトウェアをインストールしないでください
2)構成の柔軟性
3)回復の柔軟性
ソースシステムは、CentOS 5 + bacula 5.0.2とmysql-backend + webaculaです。
ヒント! MySQLでは、正しいエンコーディング(この場合はutf8)を設定する必要があります。
インストールと構成は、このトピックのトピックではありません。 このテーマでは、ハブに関する他のトピックを探します 記事を煩雑にしないために、最も単純なケースについては説明しません。
まず、バキュラのディレクター用の一連のファイルについて説明します。
次のようになります。
FileSet {
Name = XXX
..
File = "\\|c:/windows/system32/cscript.exe //NOLOGO \"C:/Program Files/Bacula/_jobs/filelist.js\""
..
}
コマンドラインでは、スクリプトに引数を渡すことができます。 最大ファイルサイズ(これにより、段落2が実装されます)。
ここで、スクリプト自体がファイルのリストを作成します。 トランスコーディングCP866-> UTF-8を使用していることに注意してください。
filelist.js:
// UTF-8 function sToUTF8(sText, srcCharset) { if (!srcCharset) srcCharset = "cp866"; //ADODB.Stream default - Unicode. KOI8-R, cp866, windows-1251 with (new ActiveXObject("ADODB.Stream")) { //http://www.w3schools.com/ado/ado_ref_stream.asp type = 2; //Binary 1, Text 2 (default) mode = 3; //Permissions have not been set 0, Read-only 1, Write-only 2, Read-write 3, //Prevent other read 4, Prevent other write 8, Prevent other open 12, Allow others all 16 charset = "utf-8"; open(); writeText(sText); position = 0; charset = srcCharset; var nPos = 3; return readText().substr(nPos); } } function ShowFolderList(folderspec) { var fso, f, fc; var p; fso = new ActiveXObject("Scripting.FileSystemObject"); f = fso.GetFolder(folderspec); re = /\\/g; // \ -> / fc = new Enumerator(f.Files); for (; !fc.atEnd(); fc.moveNext()) { try { p = fc.item(); r = '' + p; r = r.replace(re, "/"); // replace \ to "/". if (p.Size < 2097152) // 2 MB WScript.Echo(sToUTF8(r)); } catch(e) { } } fc = new Enumerator(f.SubFolders); for (; !fc.atEnd(); fc.moveNext()) { try { ShowFolderList(fc.item()); } catch(e) { } } } ShowFolderList("D:\\Private\\Buhgalteria");
ソースからすべてのフォルダーを単純に再帰的に実行し、ファイルを並べ替え、条件の下でフィルター処理することは簡単にわかります。
次に、復旧に直接進みます。
bconsole
サーバーで起動し、
restore
を選択し、復元のために対応するジョブを選択します。
回復するファイルを選択する段階で、いくつかのコマンドを使用できます。最も便利なものについて説明します。
help
-ヒント
find
目的のファイルを検索します
ls
、
dir
現在のディレクトリ内のファイルを表示します(サブディレクトリを持つディレクトリは「+」で表示されます)
cd
ディレクトリの変更
mark file
-現在の場所でファイルをマーク
mark dir/
-現在の場所の別のディレクトリをマークする
mark *
-現在のディレクトリ内のすべてのファイルとディレクトリをマークします。 ところで、TABはここでも動作します
lsmark
マークされたファイルを表示する
pwd
現在のディレクトリを表示
estimate
-回復可能なファイルのサイズを計算する
done
-終了マーク
T.O. 一般的なスキームはこれです-必要なものを
find
まで検索し、
cd
を使用して目的のディレクトリに移動し、必要なものに
mark
します。
重要な注意:
baculaは大文字と小文字を区別します。クライアントがWindowsマシンであるかどうかは関係ありません。