一个BAT批处理实现HTML网页自动同步发布到Windows Server
条评论前言
最近搞了个 Windows Server,除了挂几个客户端,平常也闲置得很,每个月 400G 的流量都用不到十分之一。刚好看了友链里大佬的一篇关于 针对搜索引擎解析域名 的方法,有种不妨一试的冲动。
从原理上讲,这种专门给大陆搜索引擎喂料的方法应该是有利于 SEO 的,毕竟:独立 IP 没有垃圾邻居,内网低延迟,反正服务器闲着也是闲着。
适用场景
因为是个 Windows Server,上面还挂着一些客户端程序,所以想着尽量节省资源,这个 Windows Server 上只托管最终的 HTML
文件,一些渲染等工作就用 GitHub Action
完成。因为不怎么考虑时效性,所以也就没有再搭个消息钩子系统触发更新的功能,这个BAT工作就简单两步:
- 定时触发自动任务,从
GitHub
仓库拉取最新HTML - 拉取成功则自动发布到
iis
网站目录
更完善的
webhook
结合方案可见本站另外的呕心之作:
Windows Server 部署 webhook 服务,并注册为系统服务守护
前置条件
- 安装
Git for Windows
- 安装
iis
并配置好网站 - 做好
dns
解析 - 将
BAT
添加到 Windows 自动任务,按需求定时触发启动BAT
程序
BAT实现代码
1 | @ECHO OFF |
代码解释
-
为什么不是
git pull
?1
git clone -b xxx https://github.com/xxx/xxx.github.io.git
因为站长用的是
hexo
渲染框架,GitHub Action
设置了发布分支xxx
只保留一次commit
记录,每次都没有承前启后的关系,所以只能用git clone
-
%WWW_DIR%
是什么?1
SET WWW_DIR="C:\inetpub\xxx"
iis
中设置的网站目录,HTML文件需发布到该路径对外提供访问 -
为什么要
MOVE web.config
web.config
是iis
的网站配置文件,所以这个配置文件需要保留恢复。网站配置内容见本站后续文章:解决 IIS W3C格式日志中中文路径乱码问题
本文标题:一个BAT批处理实现HTML网页自动同步发布到Windows Server
文章作者:凹凸曼
发布时间:2024-05-11
最后更新:2024-05-11
原始链接:https://sobaigu.com/bat-git-clone-auto-public.html
版权声明:转载请务必保留本文链接和注明内容来源,并自负版权等法律责任。