将host的ip添加到hosts.allow

时间:2013-03-26 10:54:57

标签: bash cron

我使用带有动态ip和dyndns的机器来管理其他远程机器。我希望能够做的是远程机器检查dyndns主机名的IP,即

dig +short unix.stackexchange.com

并使用bash脚本将生成的ip添加到hosts.allow中一行的末尾,这样我就可以每24小时运行一次。

1 个答案:

答案 0 :(得分:1)

这里的主要挑战是确保你删除前一个,所以我会在hosts.allow中添加一些标志和你的IP。像“我的DynDNS服务器”之类的东西。因此,在您的脚本中,您将首先删除标记的行(确保没有其他行!):

grep -v "My DynDNS Server" /etc/hosts.allow > /tmp/hosts.allow
mv /etc/hosts.allow /etc/hosts.allow.old
mv /tmp/hosts.allow /etc/hosts.allow

然后添加新的:

echo $service : `dig +short unix.stackexchange.com` : allow "# My DynDNS Server" >> /etc/hosts.allow

希望它有所帮助!