快速通关!这里会涉及到:
- rsync同步工具
- docker容器
- crontab自动化
- shell脚本化
思维链:
- 将笔记文件夹同步到Hexo所在的位置后,进入容器中生成静态文件并部署到github pages,最后退出容器并保存输出日志。
- 把上面的步骤自动化。
1、更新博客源文件
使用rsync来快速更新文件:
1 | rsync -av --delete /DATA/Documents/Obsidian/Code/Blog/ /DATA/AppData/node-hexo-blog/blog/source/_posts/ |
2、部署更新后的博客
使用&&
来连续部署命令:
1 | docker exec -it node-hexo-blog /bin/sh -c "cd /hexo/blog && hexo clean && hexo d && exit" |
3、脚本化
将更新博客的命令进行脚本化:
1 | nano hexo-autoupdate.sh |
1 |
|
给这个脚本添加执行权限:
1 | chmod +x /path/to/hexo-autoupdate.sh |
4、自动化
使用crontab来实现自动化更新:
1 | sudo crontab -e |
在打开的编辑器中,添加以下行:
1 | 0 3 * * * /path/to/hexo-autoupdate.sh >> /path/to/hexo-autoupdate.sh.log 2>&1 |
完成!
5、测试
测试一下脚本:
1 | sudo ./hexo-autoupdate.sh |
注意、如果文件是在 Windows 系统上创建的,可能会有不兼容的行结束符。
使用 dos2unix
工具可以修复这个问题:
1 | sudo apt-get install dos2unix |
或者,试着检查文件内容:
1 | cat ./hexo-autoupdate.sh |
如果一切正常,执行这个脚本就可以看到自动化执行的反馈了!
在那以后……
可以试着搭建图形化控制面板来更方便地控制。