我们有数十个 Ubiquiti Edgerouter-X 在客户位置上处于活动状态。他们除其他外负责每分钟 ping 一个 IP。这是通过 cronjob(使用 crontab -e 设置)完成的,只要固件没有更新就可以正常工作。
当固件更新到较新版本时,cronjobs 将“重置”为默认值。经过一些研究,我注意到我应该使用system task-scheduler
cronjob 而不是 cronjob。所以我在中创建了一个ping.sh
文件/config/scripts/
,将权限设置为0755
并做了一个chmod +x ping.sh
. 这是ping.sh
文件的内容(用于测试目的)
#!/bin/bash
echo "Ping Pong!"
echo "Ping Pong!!" >> result.txt
当我手动执行脚本时,脚本工作正常,它会./ping.sh
回显Ping Pong!
并写入. 当我尝试使用它执行脚本时,它什么也不做。我尝试了 2 个任务调度程序配置并在之后重新启动了 Edgerouter :Ping Pong!!
result.txt
system task-scheduler
commit; save;
show system task-scheduler task
task ping-task {
crontab-spec "* * * * *"
executable {
path /config/scripts/ping.sh
}
}
和
show system task-scheduler task
task ping-task {
executable {
path /config/scripts/ping.sh
}
interval 1m
}
我错了什么?我在https://community.ui.com/上检查了多个有关它的主题,但找不到解决方案...