前言
说明:在Github
被微软收购后,个人账号也可以使用私人仓库了,虽然只有3个协作者,但也是相当良心了。本来想着可以利用私人仓库做些什么,刚好看到Rat's
大佬发了利用Github
私人仓库备份网站的教程,就自己试了一下顺便在这里做一下记录。
本文原文出自Rat's Blog的Linux VPS定时备份服务器/网站数据到Github私人仓库
教程
没有Github
账号的先去注册一个,传送门。
1.配置Git SSH密钥
使用命令:
cd ~
ssh-keygen -t rsa
询问的选项全部保持默认,密钥文件不要改名,一路回车就行。然后会在/root/.ssh
文件夹生成2个ssh
密钥,然后我们查看公钥id_rsa.pub
。
cat ~/.ssh/id_rsa.pub
查看后复制内容,注意复制完全,公钥以ssh-rsa
开头。进入https://github.com/settings/ssh/new,Title
随便填,Key
填入刚刚复制的密钥,最后Add SSH Key
添加即可。
2.建立私人仓库
访问https://github.com/new,新建一个仓库,名称随意。仓库类型一定选Private
才是私人仓库。
3.配置本地仓库
进入需要备份的文件夹,定为本地仓库。
#进入需要备份的文件夹,注意替换为自己的
cd /home/wwwroot/www.wodrei.com
#初始化你的github仓库
git init
#关联到远程github仓库,替换为自己的地址
git remote add origin git@github.com:Wodrei/Wodrei.git
4.初次备份
注意事项
邮件如果设置私密可能会推送失败,需要提前设置一下
方法一
如果你想一直保持私密,可以选择方法二
访问https://github.com/settings/emails,将Keep my email address private
的勾去掉。
方法二
1、访问https://github.com/settings/emails,将Block command line pushes that expose my email
的勾去掉。
2、设置你的github邮箱,修改成自己:
git config --global user.email "admin@wodrei.com"
推送过程
#进入需要备份的文件夹,注意替换为自己的
cd /home/wwwroot/www.wodrei.com
#如果需要备份数据库,以MySQL为例,passwd为数据库root密码,typecho为数据库名称,typecho.sql为备份的数据库文件
mysqldump -uroot -ppasswd typecho > typecho.sql
#把目录下所有文件更改状况提交到暂存区,包括增,删,改。
git add -A
#提交更改的说明,说明随意
git commit -m "Backup Site"
#开始推送到Github
git push -u origin master
推送的时候如果提示The authenticity of host 'github.com' can't be established.
信息,直输入yes
即可。
5.定时备份
创建备份脚本
vi ~/backup_git.sh
代码如下:
#!/bin/bash
#进入到网站根目录,记得修改为自己的站点
cd /path of website
#将数据库导入到该目录,这里以MySQL为例,passwd为数据库密码,typecho为数据库名称,typecho.sql为备份的数据库文件
mysqldump -uroot -ppasswd typecho > typecho.sql
git add -A
git commit -m "Backup Site"
git push -u origin master
保存后使用命令添加执行权限
chmod +x ~/backup_git.sh
添加crontab任务,每天凌晨1:00执行备份
crontab -e
#输入以下内容
0 1 * * * /bin/bash /root/backup_git.sh
版权声明:版权归Wodrei Blog所有,转载请注明出处或保留此段声明!
本文链接:https://www.wodrei.com/archives/13/
本文采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。
学习了
|´・ω・)ノ