みなさん、こんにちは。ハブに関する最初の出版物で、Mikrotikデバイスのバックアップ用の既製のソリューションを共有したいと思います。
Mikrotikには2種類の構成バックアップがあります。これらはバイナリバックアップと構成エクスポートです。 バイナリバックアップには長所と短所があります。 利点は、バイナリバックアップを復元した後、構成全体(ユーザー、sshキーを持つユーザー用にインポートされたパスワード)が保存されることです。 欠点は、そのようなバックアップを別の種類のデバイスに復元できないことです。
一般に、これは完全バックアップであり、その回復には少し時間がかかり、構成全体が復元されます。 バックアップ方法として構成をエクスポートすると、これらの欠点が部分的に軽減されます。これは、Mikrotik再構築のスクリプトです。 一番下の行は、エクスポート可能なすべての設定が表示されることです。 利点は、そこにエクスポートされたものを見ることができ、感じることができることです。また、欠点は、それがモデル上にもあるという事実を含みます。 しかし、少し少ない。 問題はインターフェイスの数である場合もあれば、別の場合もあります。 また、すべての設定をテキスト(ユーザー、デバイス上のファイル、sshキー)にエクスポートできるわけではありません。
全体として、そして一般に、私が自分自身で学んだように、私自身のために、できれば定期的かつ常に自動的に両方の選択肢を持つことが絶対に必要です。 私はWiki Mikrotikからアイデアを取りました:
1つと 2つ 。
メールまたはftpによるバックアップの提案されたバージョンは、ここではすべてがメールまたはftpによるものであり、すべてがプレーンテキストであるため、好きではありません。 また、何らかの種類のボックスまたはftpを保持する必要があり、microtics自体が送信するという事実も気に入らない。 バックアップサーバーからすべてを行う方が便利です。
実際、手でsshをバックアップするには、Mikrotikに移動してバックアップを実行し、それを取り出すだけで十分です。 したがって、これは自動化できます。
すでに理解しているように、これらはすべて通常のbashスクリプトの助けを借りて実現されました。その後、少しゴミが入り、静かに動作します。 そこで、興味のある人から何らかのフィードバックを得るために、ここで説明することにしました。
そのため、
スクリプトに直接渡し
ます 。
スクリプトファイル
スクリプトが機能するためには、実行可能ファイルが使用され、そのパラメーターは構成ファイルを示します。
/usr/local/bin/mbkp /etc/mikrotik_backup/xxx-core01.cfg
したがって、PATHでの検索を容易にするために、バックアップスクリプトが/ usr / local / bin /ディレクトリに配置され、構成ファイルはFHSに従って/ etc / mikrotik_backup /に保存されます。 ファイルの割り当ては個人的な問題であり、私にとってはより便利です。
実行可能スクリプト
最初のセクションには、スクリプトが実行されないように指定することなく、構成ファイルをチェックするshebangが含まれています。 次に、かなり簡潔なデフォルト変数を示します。これらの一部は、特定のデバイスの構成ファイルでオーバーライドできます。
次は、構成ファイルのソースを作成する行です。
その後、構成ファイルとシステムユーティリティをインポートした後に設定するのが適切ないくつかの変数を含むセクションがあります。
その後、スクリプト関数の定義、説明を以下に示します。
すべての機能は署名されていますが、少し説明します。
fn_check_log fn_check_readme関数は、LOG.TXTおよびREADME.TXTファイルの初期コンテンツをチェックして作成します
fn_check_directoryは、構成ファイルのST_HOSTNAME = ""ディレクティブで記述したデバイス用のディレクトリが作成されているかどうかを確認します
fn_mikrotik_cleanupは、コンソール内のDNSキャッシュとコマンド履歴をクリーンアップして、バックアップやセキュリティの目的でドラッグされないようにします。
fn_mikrotik_fixtimeは 、時刻を更新するためにntpサーバーを強制的にインストールするオプションのものです。 この機能では、継続的に実行したい場合は、必要なものを何でも作成できます。 必要がない場合は、この機能を使用することもできません。
fn_backup_binaryおよびfn_backup_exportは、それぞれバイナリバックアップおよびエクスポートバックアップを実行します。 さらに、平文ではなく、opensslを使用して暗号化されたエクスポートファイルが作成されることに注意してください。 (したがって、システムにopensslが必要です)
fn_backup_retentionは 、ST_RTN日より古いバックアップをパックします。ST_RTN日は、標準(30日)を使用しない場合に構成ファイルで指定します。 関数はそれらをアーカイブフォルダーに配置します
スクリプトの最後にあるfn_logは、バックアップステータスに関するエントリをLOG.TXTファイルに作成します
デバイス構成ファイル
構成ファイルに関して、最小構成は次のとおりです。
他のディレクティブ構成ファイルは詳細に説明されており、オプションです。つまり、デフォルト値があります。
クロン
実行をいたずらしたい場合は、cronタスクの例を使用できます。
したがって、スケジューラでcronを使用することについてすぐに、私のソリューションをコピーして使用できますが、少し説明します。 当然、すべてのパスが存在し、ファイルが読み取り可能であり、実行するスクリプトである必要があります。 クラウンで変数を使用することは禁止されておらず、50を超えるクラウンの問題がある場合は、読みやすさがわずかに向上します。