我已经为我的邮件服务器设置了一个 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
我可以在一段时间内发送/接收邮件,但在一段时间不活动后,我的邮件客户端报告它没有从邮件服务器获得有效的问候语。
我有一个 perl 脚本,它每分钟检查一次以确保 ssh 隧道正在运行(通过 ps)并且端口已打开(使用 IO::Socket::PortState qw(check_ports)),但我想检查是否或者我也没有收到有效的问候。
在 perl 或 shell 脚本(运行 Ubuntu 12.04)中执行此操作的最佳方法是什么?