次のように、メールサーバーへの SSH トンネルをセットアップしました。
ssh -o ServerAliveInterval=60 -f me\@mydomain.com -L 63110:mail.mydomain.com:110 -N
ssh -o ServerAliveInterval=60 -f me\@mydomain.com -L 63325:mail.mydomain.com:25 -N
しばらくの間はメールを送受信できますが、しばらく使用しないと、メール クライアントがメール サーバーから有効な挨拶を受信していないと報告します。
sshトンネルが(ps経由で)実行されていること、およびポートが開いていること(IO::Socket::PortState qw(check_ports)を使用)を確認するために毎分チェックするperlスクリプトがありますが、またはそうでない場合も、有効な挨拶を受け取ります。
perlまたはシェルスクリプト(Ubuntu 12.04を実行)でこれを行う最良の方法は何ですか?