自动拉取 GitHub 仓库更新的脚本

2023-09-04 15:15:36 浏览数 (3)

本文最后更新于 19 天前,其中的信息可能已经有所发展或是发生改变。

自动拉取 GitHub 仓库更新的脚本


由于将 HAUE-CS-WIKI 部署到了我自己的服务器上作为国内镜像站,每次在源站更新后都需要手动拉取镜像站的更新实在是太麻烦了,因此产生了编写该脚本的需求(

读者可根据该脚本思路编写属于你自己的定时任务脚本。


脚本思路


  • 编写脚本文件,能够执行 git pull 命令以及 mkdocs build 构建命令。
  • 对这些命令的执行结果和状态需要保存到相应的日志,以便查询执行状态。
  • 利用 cron 守护进程实现定时执行该脚本文件。

编写脚本文件


代码语言:javascript复制
#!/bin/bash

# 读取用户环境变量
. /etc/profile
source /root/.bashrc
source /root/.profile

# 导入 mkdocs 环境变量
MKDOCS_PATH="/usr/local/bin/mkdocs"

# 日志文件路径
LOG_FILE="/wiki/log/update.log"
ERROR_LOG_FILE="/wiki/log/error.log"

# 任务执行时间
update_time=$(date  "%Y-%m-%d %H:%M:%S")
tag_bar="====================================================================================================="

# 进入 haue-cs-wiki 目录
cd /wiki/haue-cs-wiki

# 执行 git pull 操作
git_pull_output=$(git pull 2>&1)
git_pull_status=$?

# 执行 mkdocs 构建
mk_build_output=$($MKDOCS_PATH 2>&1)
mk_build_status=$?

if [ $git_pull_status == 0 ] && [ $mk_build_status == 0 ]
then
    echo -e "$tag_barn$update_time: no errors occured 


	

0 人点赞