专栏首页恩蓝脚本Linux VPS定时备份服务器/网站数据到Github私人仓库

Linux VPS定时备份服务器/网站数据到Github私人仓库

2860元腾讯云代金券免费领取,付款直接抵现金,立即领取>>>

腾讯云海外服务器1折限时抢购,2核4G云主机689元/1年,立即抢购>>>

腾讯云服务器1折限时抢购,2核4G云主机689元/3年,立即抢购>>>

说明:现在Github微软收购后,私人仓库已经开始免费了,只能说微软很良心。然后就可以拿来折腾下了,让其充分发挥下作用,这里我们可以用来备份下网站或者服务器一些数据,方法就大概说下。

教程

首先你肯定需要一个Github账号,没有的可以去注册一个,地址:https://github.com。有了账号就继续看。

1、配置Git SSH密钥

由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以必须要让github仓库认证你SSH key,在操作之前,需要先在服务器上生成SSH key。

我们先去根目录下使用命令:

cd ~
ssh-keygen -t rsa

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

cat ~/.ssh/id_rsa.pub

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

2、建立私人仓库 我们需要先访问https://github.com/new,新建一个仓库用来存放备份文件,名称自己随意,记得下面一定要勾选Private,也就是私人仓库。不然你辛辛苦苦备份的小姐姐就要被别人偷走了。

3、配置本地仓库 由于博主是用来备份网站,所以需要备份文件夹为/home/www.zalou.cn,也就是把该文件夹定为本地仓库,使用命令:

#进入需要备份的文件夹
cd /home/www.zalou.cn
#初始化你的github仓库
git init
#关联到远程github仓库
git remote add origin git@github.com:iiiiiii1/MOERATS.git

关联仓库的时候,后面可以用HTTPS链接也可以用SSH,这里强烈建议选择SSH,安全性很高。

4、初次备份

#进入备份的文件夹
cd /home/www.zalou.cn
#把目录下所有文件更改状况提交到暂存区,包括增,删,改。
git add -A
#提交更改的说明,说明随意了,这里为backsite
git commit -m "backsite"
#开始推送到Github
git push -u origin master

推送的时候可能会提示The authenticity of host 'github.com' can't be established.信息,直进yes即可。

然后可以看到仓库的备份文件了。

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

nano ~/gitback.sh

代码如下:

#!/bin/bash
#进入到网站根目录,记得修改为自己的站点
cd /home/xxx.com
#将数据库导入到该目录,这里以mysql为例,passwd为数据库密码,typecho为数据库名称,typecho.sql为备份的数据库文件
mysqldump -uroot -ppasswd typecho > typecho.sql
git add -A
git commit -m "backsite"
git push -u origin master

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

bash ~/gitback.sh

脚本没问题的话,再设置为每天05:15执行一次:

echo "15 05 * * * bash ~/gitback.sh" > bt.cron
crontab bt.cron
rm -rf bt.cron

最后使用crontab -l命令查看添加成功没。成功的话,就基本上算完成了。

推送失败

如果你将本地文件夹推送到Github失败的话,常见原因有2种,具体如下。

1、邮件问题

报错提示:Your push would publish a private email address.

这里可能是你将你的邮件地址私密了,解决方法如下:

#方法一,如果你想一直保持私密,可以选择方法二
访问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@zalou.cn"

2、密匙问题

报错提示:Permission denied (publickey).

大概的原因就是,你设置密匙的时候改成了其它名称,而ssh默认只读取id_rsa,所以会显示没权限。解决方法如下:

#方法一
进入根目录的.ssh文件夹,将你的github密匙文件,重新更名为id_rsa。

#方法二
将github密匙添加到ssh agent,比如密匙名称为github,使用命令:
ssh-agent bash
ssh-add ~/.ssh/github

总结

使用该方法备份网站是个不错的选择,不过别用来备份大文件东西,比如电影什么的,听说有限制,具体多少暂时还没测试。

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:https://www.zalou.cn复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • Linux VPS定时备份服务器/网站数据到Github私人仓库

    说明:现在Github被微软收购后,私人仓库已经开始免费了,只能说微软很良心。然后就可以拿来折腾下了,让其充分发挥下作用,这里我们可以用来备份下网站或者服务器一...

    子润先生
  • Linux vps定时备份网站文件和数据库到七牛云存储

    之前有说过Linux VPS每日自动备份FTP及数据库通过邮箱发送方法,不过需要自建FTP空间才行,较本教程有点麻烦,如果你没有FTP空间,可以申请一个七牛云存...

    青阳
  • BackUpWordPress 插件定时备份网站和数据库

    魏艾斯博客www.vpsss.net
  • 哪吒监控-服务器状态监控,SSL证书变更到期,Ping监控和定时任务提醒

    哪吒面板是一个类似于ServerStatus的服务器状态监控程序,不过,哪吒面板相对来说功能更强大一些,哪吒监控 支持服务器系统状态监控、HTTP(SSL 证书...

    用户9022575
  • 实例:Centos使用DropBox定时同步备份方案详解

    一直以来,使用美帝VPS建站,由于网速等多方面原因,面临着备份困难、下载困难的难题,而且还要面临故障啊、商家跑路啊等等数据丢失的风险,前段时间DS不是数据都木有...

    用户1191760
  • Linux CentOS系统配置rsync实现定时同步备份的记录

    我们很多网友可能较多的还是熟悉虚拟主机,虚拟主机一般商家都会提供定时备份数据,相对运维方面较多的还是交由虚拟主机商。但是虚拟主机商也有很多劣势,于是大家纷纷都会...

    Alexaer
  • 新版VPS主机管理面板WDCP安装及使用体验-国产简单易用型VPS面板

    WDCP也算是国产中颇受大家欢迎的VPS主机面板了,提供了nginx、apache、mysql、php等Web建站环境一键搭建。印象中,国内VPS主机面板也就是...

    砸漏
  • Redis未授权访问漏洞利用总结

    Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日...

    Gamma实验室
  • 实例:Centos使用DropBox定时同步备份方案详解

    用户1272546
  • 【玩转Lighthouse】用腾讯云轻量服务器搭建MC我的世界服务器

    1、在该网站下载服务端镜像 https://mirror.zerodream.net/ 推荐Minecraft Server的镜像(腾讯云轻量化vps1核2G,...

    用户4475467
  • 使用宝塔面板如何自动备份数据库和网站代码

    基础操作是:宝塔自带的定时任务当中就有备份数据库和网站代码啊?? 然后就直接选择了备份到服务器磁盘

    沈唁
  • 新版LNMP一键安装包建站教程-一键安装Web环境自动签发SSL证书

    LNMP一键安装包是一个国人开发的非常优秀的免费的LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAM...

    用户9022575
  • 史上最强跨平台、多端加密同步神器,你有用过吗?

    Restic 是一款 GO 语言开发的开源免费且快速、高效和安全的跨平台备份工具。Restic 使用加密技术来保证你的数据安全性和完整性,可以将本地数据加密后传...

    iMike
  • 01 . GitLab简介及环境部署

    GitHub如果使用私有仓库,是需要付费的,GitLab可以在上面搭建私人的免费仓库。

    常见_youmen

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com