我正在使用带有动态 ip 的 mac mini 来存储 SVN 存储库。由于 ip 的意外更改使得难以始终如一地使用存储库,我有兴趣创建一个 cron 以在每次更改时将 ip 记录在另一台服务器上。最好的方法是什么?
4 回答
对于 Subversion 的使用,您的方法没有意义并且不起作用:每个工作副本都将其存储库 URL 存储在 .svn 文件夹中,因此如果您的 IP 更改,您必须通过重新定位您的工作副本
`svn switch --relocate`
所以它不会保护你的任何工作。你真的应该使用动态 DNS 服务
如果您想将 IP 地址推送到另一台服务器,请运行 ifconfig,解析结果,并将数据写入服务器上的文件(不知何故 - 挂载为 nfs 共享、ftp 等)。
如果要检测更改的 IP 地址,假设 DNS 名称保持不变,ping 服务器名称并解析 ping 结果。
通常,如果您有 DNS 名称常量,请使用它来访问存储库。如果您不这样做,请尝试使用动态 dns 提供商提供的服务。
稍微偏离主题:
某些路由器内置了动态 DNS 支持。如果您的路由器正在获取新 IP,并且您希望通过它访问 Internet-> 局域网,则可以将其配置为使用动态 DNS 提供程序记录其配置。在这种情况下,您还应该将端口转发配置到正确的内部服务器,并确保该服务器的 IP 不会动态更改。为此,许多路由器能够将 DHCP 地址静态分配给 MAC 地址。
我可以推荐 DNSAlias.com 来提供这样的服务。在我的 linux 机器上,一个名为“ddclient”的程序会定期检查它挂起的 IP 地址(一个 ADSL 帐户,通过 ping 外部网站)。如果更改,它将向 DnsAlias.com 发送新信息,并且 *.dnsalias.com(或备用名称)DNS 记录将在几分钟内更新。无论发生什么,它都会每 15 天更新一次,只是为了确定,但不会更频繁。