让Hexo里的文章变动时自动同步到网站上

dr_pure Lv5

现在这个站点的本地文件在一台vps上,我把写好的文章用ftp传到vps上再通过对vps执行hexo g -d同步到网站上.

Hexo自带的监控参数Hexo g -w -d用起来总是执行很慢,有时候要卡很久才能部署成功。

所以,只要再想一种办法让vps监视着_post文件夹有没有变动就行了.

恰好,最近发现了一个可以监控文件变化的程序: inotify-tools

安装的话,Debian的话只要

1
apt-get install inotify-tools

就行了.

再搜一下,有个inotifywait指令

inotifywait命令参数

-m是要持续监视变化。
-r使用递归形式监视目录。
-q减少冗余信息,只打印出需要的信息。
-e指定要监视的事件列表。
--timefmt是指定时间的输出格式。
--format指定文件变化的详细信息。

可监听的事件

access 访问,读取文件。
modify 修改,文件内容被修改。
attrib 属性,文件元数据被修改。
move 移动,对文件进行移动操作。
create 创建,生成新文件
open 打开,对文件进行打开操作。
close 关闭,对文件进行关闭操作。
delete 删除,文件被删除。

然后是脚本

1
2
3
4
5
6
7
#!/bin/sh
inotifywait -rmq -e modify /root/site/source/_posts/ | while read event
do
cd /root/site
hexo clean
hexo g -d
done

只要脚本执行着,_post文件夹有变化就会自动同步咯~

P.S.: 这是自动同步的第一篇文章啊^_^

  • 标题: 让Hexo里的文章变动时自动同步到网站上
  • 作者: dr_pure
  • 创建于 : 2018-10-29 15:15:58
  • 更新于 : 2018-10-29 15:15:58
  • 链接: https://blog.lfn.moe/posts/a9a06126/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
目录
让Hexo里的文章变动时自动同步到网站上