我在运行 Linux,我有一个任务只在午夜后运行。我为此使用的互联网连接,如果有一段时间不活动,就会离线,我想通过某种方式保持互联网连接直到午夜(例如:把它交给一些最低限度使用以保持连接“活跃”)。
是什么最佳方法完成这个任务?
答案1
最好的选择显然是重新配置您的路由器/调制解调器,以便它不会在您需要上网的时间内使您的互联网连接离线。
答案2
我能想到的最简单的方法是添加一个 cron 作业,通过在 /etc/crontab 中添加如下行来 ping dns 服务器:
#
#┌───────────── minute (0 - 59)
#│ ┌───────────── hour (0 - 23)
#│ │ ┌───────────── day of month (1 - 31)
#│ │ │ ┌───────────── month (1 - 12)
#│ │ │ │ ┌───────────── day of week (0 - 6) (Sunday to Saturday;
#│ │ │ │ │ 7 is also Sunday)
#│ │ │ │ │
#│ │ │ │ │
#* * * * *
* * * * * user ping -c 3 8.8.8.8 &> /dev/null
此命令将每分钟 ping Google 的 DNS 服务器 8.8.8.8 3 次。
“用户”应该替换为您的任何系统用户。/dev/null 用于静音命令的输出并阻止其进入/var/log/syslog
不过,您需要了解需要多频繁地 ping 服务器才能保持连接。希望您不需要每分钟都这样做。
如果频率应该以秒为单位,那么您需要编写自定义脚本并从 crontab 运行它,而不是“ping”命令。
最好 ping 位于您网络之外的服务器(如果有的话),而不是 ping Google 的 DNS。