1. Introduction

Linux由于其简易性,图形化界面的工具反而没有必要,这里说明下Linux中自动更新Hosts的方法。

2. 更新脚本

sh脚本

由于需要替换hosts,因此需要sudo执行命令,或者直接到root用户下执行。上面代码里使用了参数4,即如果你在ipv4的环境下,运行时添加参数4则下载ipv4的hosts,其他参数(包括空参数)则下载ipv6的hosts。

同时,最后一行表示追加/home/your_username/temp.hosts的内容到hosts里,你也可以修改为你想追加的文件。

将上面的代码保存到任意位置,比如update_hosts.sh,并通过chmod a+x update_hosts.sh来添加执行权限。

3. 添加自动更新

借用Linux的crontab工具即可。 通过crontab -e进入定时任务列表的编辑,如果是第一次运行,会让你选择编辑器,建议选择vim.basic。

分 小时 日 月 星期 命令

0-59 0-23 1-31 1-12 0-6 command (取值范围,0表示周日一般一行对应一个任务)

“*”代表取值范围内的数字,

“/”代表”每”,

“-”代表从某个数字到某个数字,

“,”分开几个离散的数字

*/30 * * * * /home/your_username/update_hosts.sh 

上面的代码表示,每隔30mins执行一次后面的命令。

编辑结束后,任务即自动运行。