[mikrotik][RouterOS] RouterOS のconfigをGmailで送信するスクリプト。

2013-07-11 10:36:33mikrotik

MikroTik RouterOS • View topic – CLOUD CORE ROUTER /
http://forum.mikrotik.com/viewtopic.php?f=1&t=67195&start=800#p370682

たまたまフォーラムを見ていた際に、見つけたので有用だと思いここに書いておきます。

RouterOSは自前でスクリプトを書いて、設定等を自動化したりすることが可能ですが、今回のはconfigのバックアップ並びにlogの一部を転記して、Gmailに送信するというスクリプトとなります。

[System]-[Scripts]から追加を実行し、「Source」に以下のコードを貼り付けます。

CAUTION

ユーザ並びにパスワードについては適宜修正するようにしてください。また、サーバがIPアドレスを直接指定しているのはRouterOSの仕様のようです。

引用元:MikroTik RouterOS • View topic – CLOUD CORE ROUTER

log info "///---->backup"
global backupfile ([/system identity get name]. ".backup")
if ([/file find name=$backupfile] != "") do={/file rem $backupfile}
delay 5s
global logMessages;
set logMessages ""
foreach i in=[/log find ] do={
set logMessages ($logMessages. [/log get $i time ]. " ");
set logMessages ($logMessages. [/log get $i message ]);
set logMessages ($logMessages. "\n") }
delay 5s
/system backup save name=$backupfile
delay 10s
/tool e-mail send server=74.125.143.108 port=587 user= USER password=PASSWORD start-tls=yes to=USER@gmail.com from=USER@gmail.com subject=Backup file=$backupfile body=("Name ". [/system identity get name]. ". \n done: ". [/system clock get time]. " ". \ [/system clock get date]. " \n____________________\n \n Uptime: ". [/system resource get uptime]. "\n free memory: ". [/system resource get free-memory]. " from ". [/system resource get total-memory]. " kb. \n Free space: ". [/system resource get free-hdd-space]. " from ". [/system resource get total-hdd-space]. " kb. \n bad blocks: ". [/system resource get bad-blocks]. " %. \n CPU USE: ". [/system resource get cpu-load]. " % \n____________________\n \n log: \n \n". $logMessages. " \n____________________ \n". [/system identity get name])
log info "///----> mail"
delay 20s
/file remove $backupfile
log info "///---->done"
/file remove $backupfile
ros_scripts.png

この後は、「Run Script」ボタンをクリックしてスクリプトを実行させるのも良いのですが、これだとエラーが発生しているか分からないので、Terminalを起動し、コマンド実行を行います。

> /system script run <スクリプト名>

問題がなければそのままエラー出力されることなく実行されますが、問題があった場合Syntax Errorとして出力されるので、それを参考に修正すれば大丈夫かと思います。

また、これをスケジューラーに登録することで、毎日の自動バックアップのようにすることも可能なので、色々とためしてみると良いと思います。

この記事を書いた人

kometchtech

うつ病を患いながら、IT業界の末席にいるおっさんエンジニア。科学計算をしたことがないのに、HPC分野にお邪魔している。

興味のある分野で学習したことをblogにまとめつつ、うつ病の経過症状のメモも置いておく日々。

じつはRouterboard User Group JPの中の人でもある。

Amazon欲しいものリスト / Arm板を恵んでくれる人募集中

2013-07-11 10:36:33mikrotik