可以的,在 CentOS 7 上,你可以使用 crontab 来轻松实现这个需求。
你可以设置一个定时任务,让系统每周自动执行你提供的命令来更新 /etc/hosts 文件。
⚙️ 操作步骤
- 编辑定时任务
- 在终端执行以下命令,打开当前用户的定时任务编辑器:
crontab -e2.添加任务规则
在打开的编辑器中,添加下面这一行内容。这表示每周一凌晨 3 点自动执行更新命令:
0 3 * * 1 sudo sh -c 'sed -i "/# GitHub520 Host Start/Q" /etc/hosts && curl -s https://raw.hellogithub.com/hosts >> /etc/hosts'- 保存并退出保存文件并退出编辑器(在 vi 或 vim 中,按 Esc 键,然后输入 :wq 并回车)。
💡 补充说明
- 时间格式:
0 3 * * 1是标准的 crontab 时间格式,分别代表分钟小时日月星期。 - 静默模式:我在
curl命令后增加了-s参数,这会让它在后台静默运行,不会输出下载过程信息,避免产生不必要的邮件通知。 - 权限问题:由于更新
/etc/hosts文件需要root权限,请确保你编辑的是root用户的 crontab(即用sudo crontab -e执行第一步),或者当前用户有免密码执行该sudo命令的权限。

