本文最后更新于 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