使用Cron定时更新Hosts解决Gihub无法访问问题

#编程技术 2024-04-21 10:50:00 | 全文 516 字,阅读约需 2 分钟 | 加载中... 次浏览

👋 相关阅读


因为总所周知的原因,GitHub 在国内的访问是不稳定的,经常抽风,不使用一点科学的手段没有办法很好的进行访问,所以就有通过获取 GitHub 最新的可访问的 ip,手动更新到系统的 hosts 文件中的办法来应对

fetch-github-hosts

官网的介绍:fetch-github-hosts 是主要为解决研究及学习人员访问 Github 过慢或其他问题而提供的 Github Hosts 同步工具

官网链接:https://hosts.gitcdn.top/

对于 Windows系统,我们可以直接下载 fetch-github-hosts 客户端的方式很方便的对 hosts 进行更新,

也可以通过手动的方式修改 hosts,只需要将:https://hosts.gitcdn.top/hosts.txt 中的内容复制到 hosts 文件中即可

定时自动更新

通过使用 Cron 可以定时执行 sh更新 GitHub Hosts

首先编写一个 sh 脚本

# 创建一个文件夹 可自定义
mkdir /data/crontab_task
mkdir /data/crontab_task/log
# 创建一个sh脚本
vi set_github_hosts.sh

接着写入内容

#!/bin/bash
start_text="Start update github hosts. Current time: "
current_time=$(date "+%Y-%m-%d %H:%M:%S")
starting=$start_text$current_time
echo "-----------------------------------------------------------------"
echo $starting
sed -i "/# fetch-github-hosts begin/Q" /etc/hosts && curl https://hosts.gitcdn.top/hosts.txt >> /etc/hosts
echo "Down."

按下 esc 并输入 wq 保存

# 赋予sh可执行权限

chmod u+x set_github_hosts.sh

# 编写cron表达式

crontab -e

# 在文件的最后添加以下内容,保存即可

*/60 *  *  *  * /data/crontab_task/set_github_hosts.sh >> /data/crontab_task/log/set_github_hosts.log 2>&1

一段时间后就可以去 log 目录下查看执行的日志,正确执行的情况下是一直会更新日志的

VIA

使用Cron定时更新Hosts解决Gihub无法访问问题 - 珂泽小站 https://www.kezez.com/archives/276.html

Edit | Last updated on 2024-07-04 10:07:59




×