拿树莓派做了一个 git 备份仓库和博客副本

第一次接触 git, 想在 github 之外再用树莓派备份一个源代码的, 折腾了 2 天终于想出了一个解决方法。

目前 github 上我把原代码和站点发布的文件分成了 2 个仓库, 在树莓派上也做了 2 个仓库。一个是 git 用户下的源代码备份仓库

1
git init --bare blog.git

这个仓库和 github 的源代码仓库用法一致, 所以在工作端用下面的指令把他们一起设置为源

1
2
git remote add github git@github.com:lqid1998/blog.git
git remote add pi git@pi:/home/git/blog.git

在更改完源代码之后用这俩来上传

1
2
git push github
git push pi

树莓派上另一个仓库设在 pi 用户下面, 是附带工作区的仓库, 用 hexo d 一键部署的时候也会部署到树莓派上。在树莓派的仓库设置了一个 hook, 只要仓库收到 push 过来的文件, 就会在执行 checkout -f 更新 public 文件夹内的网站。另外更换了树莓派上网页的 avater 以示区分

post-receive
1
2
3
#!/bin/bash
git --work-tree=/home/pi/public checkout -f
mv /home/pi/public/avatar_doge.gif /home/pi/public/avatar.gif

顺便用 nginx 架设了博客副本

1
sudo apt-get install nginx

并修改 /etc/nginx/nginx.conf 文件, 在 http 里加入

1
2
3
4
5
6
7
server {
listen 80;
location / {
root /home/pi/public;
index index.html;
}
}

启动/关闭 nginx

1
sudo /etc/init.d/nginx start | restart | stop