hexo写完博客后,每次都要:

1
2
3
4
5
6
手动登陆ssh
然后录入命令
清除索引
新建索引
生成静态文件
部署文件

以上步骤实在是太繁琐。

有无简单的方法更新博客呢?答案是有的!

使用root用户登录

因为宝塔面板的计划任务默认是使用root账户运行的。所以,首先要启用root账户,并且使用root账户部署一次。

打开宝塔面板。

创建自动任务

添加shell脚本任务:

1
2
3
4
5
cd /root
git config --global user.name "wangweitung"
git config --global user.email "weitung.wang@gmail.com"
cd /home/Disk/2Tsda/app/hexo
hexo clean && hexo g && hexo d

可以设置成每10min执行一次shell脚本,这样你的博客会每10min更新一次。   

自动更新

尽情的写博客吧!自动任务会帮你更新博文的~

其他设置

如果觉得每隔一段时间执行太消耗资源,可以手动在宝塔里面执行命令。

问题及解决

最开始是用非root账户登录部署hexo,然后在计划任务中设置后,总是部署失败,提示没有连接权限,然后按照下面的方法设置重新连接,部署成功,然后才完成了定时任务的设置。


  修复步骤如下:

  • 切换到root账户
  • 设置git
1
2
git config --global user.email "weitung.wang@gmail.com"
git config --global user.name "wangweitung"
  • 生成SSH秘钥,先确定你的VPS 有没有生成过ssh的key,验证:
1
less ~/.ssh/id_rsa.pub
  • 如果报错,执行下面代码,-C后面加你在github的用户名邮箱,这样公钥才会被github认可:
1
ssh-keygen -t rsa -C weitung.wang@gmail.com
  • 查看公钥内容稍后加入Github 账户的 sshkey中
1
less ~/.ssh/id_rsa.pub
  • 将ssh秘钥添加到github中,即在名字,setting,ssh里面加入即可。