如何创建一个论坛网站,住房和建设部执业资格注册中心网站,网站建设视屏,wordpress .net版本号更好的阅读体验 \huge{\color{red}{更好的阅读体验}} 更好的阅读体验
由于将 HAUE-CS-WIKI 部署到了我自己的服务器上作为国内镜像站#xff0c;每次在源站更新后都需要手动拉取镜像站的更新实在是太麻烦了#xff0c;因此产生了编写该脚本的需求#xff08;
读者可根据该… 更好的阅读体验 \huge{\color{red}{更好的阅读体验}} 更好的阅读体验
由于将 HAUE-CS-WIKI 部署到了我自己的服务器上作为国内镜像站每次在源站更新后都需要手动拉取镜像站的更新实在是太麻烦了因此产生了编写该脚本的需求
读者可根据该脚本思路编写属于你自己的定时任务脚本。 脚本思路 编写脚本文件能够执行 git pull 命令以及 mkdocs build 构建命令。对这些命令的执行结果和状态需要保存到相应的日志以便查询执行状态。利用 cron 守护进程实现定时执行该脚本文件。 编写脚本文件 #!/bin/bash# 读取用户环境变量
. /etc/profile
source /root/.bashrc
source /root/.profile# 日志文件路径
LOG_FILE/wiki/log/update.log
ERROR_LOG_FILE/wiki/log/error.log# 任务执行时间
update_time$(date %Y-%m-%d %H:%M:%S)# 进入 haue-cs-wiki 目录
cd /wiki/haue-cs-wiki# 执行 git pull 操作
git_pull_output$(git pull 21)
git_pull_status$?if [ $git_pull_status -eq 0 ]; thenecho -e $update_time: git pull successfully $LOG_FILE
elseecho -e $update_time: git pull failed \n Error: $git_pull_output $ERROR_LOG_FILE
fi# 执行 mkdocs 构建
mk_build_output$(mkdocs build 21)
mk_build_status$?if [ $mk_build_status -eq 0 ]; thenecho -e $update_time: mkdocs build successfully \n $LOG_FILE
elseecho -e $update_time: mkdocs build failed \n Error: $mk_build_output $ERROR_LOG_FILE
fi注意
所有的文件目录均需要指定为绝对路径防止脚本执行路径出错。由于后续 cron 定时任务执行时不会携带用户的环境变量因此在脚本中需要读入相应用户的配置文件和环境变量。 设置 cron 定时任务 使用 crontab -e 打开定时任务注册表
第一次使用会提示选择需要使用的编辑器选择适合自己的即可。
在注册表中编辑
0 0 * * * /bin/bash /path/script.sh其中 /path/script.sh 为执行脚本文件所在的绝对路径。
对于执行时间的设置在 crontab 文件中时间表达式由五个 * * * * * 字段组成分别表示分钟、小时、日期、月份和星期几。
对于时间表达式 * * * * *每个字段的含义如下 第一个字段分钟取值范围0-59 * 表示每分钟都匹配即每分钟触发任务。 第二个字段小时取值范围0-23 * 表示每小时都匹配即每小时触发任务。 第三个字段日期取值范围1-31 * 表示每天都匹配即每天触发任务。 第四个字段月份取值范围1-12 * 表示每个月都匹配即每个月触发任务。 第五个字段星期几取值范围0-6其中 0 表示星期日 * 表示每个星期都匹配即每个星期触发任务。
例如设置为 0 0 * * * 表示每天 0:00 执行一次该定时任务。