如何在 pfSense 上自动保存并强制更新动态 DNS?

如何在 pfSense 上自动保存并强制更新动态 DNS?

每次我的 pfSense 的 IP 地址发生变化时,我都需要手动登录面板,转到服务 > 动态 DNS > 操作 [编辑] > ♻ 保存并强制更新

请问,如何使用 Cron 执行此操作?我已经安装了“Cron”包并执行以下操作(基于 ServerFault 上的另一个问题 - 它不起作用。)

1 1 * * * 根 /usr/bin/nice -n20 /etc/rc.force.dyndns.update

rc.force.dyndns.update 中的代码是:

#!/bin/sh
rm /cf/conf/dyndns\_wancustom\\'\\'0.cache
/etc/rc.dyndns.update

没用。问题一直存在。

答案1

好的,经过近 4 个月的时间,我能够通过使用以下代码并使其在 cronjob 中每 30 分钟运行一次来​​解决这个问题。

计划任务:*/30 * * * * root /usr/bin/nice -n20 /etc/rc.force.dyndns.update

#!/bin/sh
dynamicHost=""
myIP=`dig +short myip.opendns.com @resolver1.opendns.com`
myIP_error=$?
noIP=`dig $dynamicHost | grep -A1 ANSWER | grep IN | cut -f 6`

if [ "$myIP" == "$noIP" ] ; then
    exit
else

    if [ "$myIP_error" -eq 0 ]
        then
            /etc/rc.dyndns.update
        else
            exit
    fi
fi

这样做之后我没再遇到任何问题。

答案2

因为您只需修改原始命令(您的命令格式不正确)

#!/bin/sh
rm /cf/conf/dyndns\_wancustom\\'\\'0.cache
/etc/rc.dyndns.update

成为 =>

#!/bin/sh
rm /cf/conf/dyndns\_wancustom\'\'*.cache
/etc/rc.dyndns.update

通过此修改,所有 dyncache 都将被删除。

一切都会顺利;)

相关内容