github 私仓备份 wordpress blog

github 私仓备份 wordpress blog

1.配置Git SSH密钥

       由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以必须要让github仓库认证你SSH key,在操作之前,需要先在服务器上生成SSH key。 我们先去根目录下使用命令:

1
2
$ cd ~
$ ssh-keygen -t rsa

       这里会要你命名密匙名称(这里建议使用默认名称),然后连续按几次Enter,这时候会在/root/.ssh文件夹生成2个ssh密钥,然后我们查看公钥id_rsa.pub。

1
$ cat ~/.ssh/id_rsa.pub

       查看后,再复制下公钥,然后打开Github官网,进入https://github.com/settings/ssh/new, Title随便填,然后Key填入刚刚复制的密匙,最后点击Add SSH Key添加即可。

2.建立私人仓库

       我们需要先访问 https://github.com/new, 新建一个仓库用来存放备份文件,名称自己随意,记得下面一定要勾选Private,也就是私人仓库。

3.配置本地仓库

       需要备份文件夹为/www/wwwroot/blog,也就是把该文件夹定为本地仓库,使用命令:

进入需要备份的文件夹

1
cd /www/wwwroot/blog 

初始化github仓库

1
git init 

关联到远程github仓库

1
git remote add origin git@github.com:findthewayxf/blog.git 

删除仓库git remote rm origin……

4.初次备份

       修改邮箱地址访问https://github.com/settings/emails, 将Block command line pushes that expose my email的勾去掉。设置你的github邮箱
进入备份的文件夹

1
cd /www/wwwroot/blog

把目录下所有文件更改状况提交到暂存区,包括增,删,改。

1
git add -A

关联邮箱地址

1
git config --global user.email "findthewayxf@gmail.com"

提交更改的说明,说明随意了,这里为backupblog

1
git commit -m "backupblog"

开始推送到Github

1
2
git push -u origin master
git push -f ...

5.设置定时备份 在根目录先新建一个bash脚本:

1
$ nano ~/gitback.sh

代码如下:

1
2
3
4
5
#!/bin/bash
cd /www/wwwroot/blog
git add -A
git commit -m "backupblog"
git push -u origin master

然后编辑好了后,使用ctrl+x,y保存退出。再测试下脚本,使用命令:

1
bash ~/gitback.sh

脚本没问题的话,再设置为每天05:15执行一次,并将运行日志输出到根目录的backupblog.log文件

1
2
3
echo "15 05 * * * bash ~/gitback.sh > ~/siteback.log 2>&1 &" > bt.cron
crontab bt.cron
rm -rf bt.cron

6.git语法说明

1
2
3
4
5
6
7
8
# 查看项目的分支们(包括本地和远程)  
$ git branch -a
# 删除本地分支
$ git branch -d <BranchName>
# 删除远程分支
$ git push origin --delete <BranchName>
# 切换回master分支
$ git checkout master
  • 把本地的dev分支强制(-f)推送到远程master
1
git push origin dev:master -f
  • 删除远程分支
1
git push origin --delete <branchName>
  • 删除tag
1
git push origin --delete tag <tagname>
  • 本地分支替换远程分支,远程commit会变成1
1
git push origin master --force

1
git push origin master -f
  • 添加远程链接
1
2
git remote rm origin 
git remote add origin https://github.com/findthewayxf/xxx.git
  • 回退到某个版本
1
2
git reset --hard <commit_id>
git push origin HEAD --force