最近不少国外小机都因不可描述的原因坠机了,我还剩半年的GIA就是其中之一

不怕一万就怕万一,即便没有特殊用途,依旧怕被误伤到(同时也害怕主机商删库跑路),之前出于信(lǎn)任(duò),一直都没有做过数据备份

emmm... 要是备案了倒是有一些免费的cdn和云存储用用(打死都不会备案的,国外cdn简直就是减速 = =),备份压力也会小很多,所以本站也没有静态资源分离

那么哪里由那么好的地方给我放备份呢 0.0

答案就是Github,不得不说巨硬爸爸还是大气,收购了之后马上就private free了,不用担心隐私问题,也不用担心容量和挂掉的问题,拿来做备份简直完美

原理

无非就是通过crontab定时备份内容后,通过git定时push到自己的私有库里面

步骤

创建公钥

为保证和远程库连接的安全性,建议使用SSH方式(https方式会将你的连接凭证明文传输,比较危险)

具体过程可以参照:如何创建公钥

创建项目并初始化本地库

在github上创建一个私有项目这个我觉得不需要多讲,要是不会,那就点这里

这里主要讲初始本地库

如果vps上没有安装git:如何安装git

#创建备份文件夹
mkdir backup
#进入文件夹
cd backup
#初始化库
git init

数据备份

我这里只选择了备份数据库、插件和上传附件(因为其他的都可以下载到)

数据库备份

数据库备份

文件备份

简单说就是文件夹压缩后打包:文件压缩

使用mv命令将数据库备份和文件备份移动到刚刚创建的backup文件夹中

lnmp备份

如果你使用lnmp那就方便多了:传送门

第一次提交

第一次提交的时候需要注意的事情多一点:连接远程库,添加备份文件等

#初始化用户设置
git config --global user.email your_email
git config --global user.username your_email
#提高单个文件上传上限制
git config --global http.postBuffer 524288000
#添加当前的备份文件给git
git add *
#首次commit
git commit -m "first commit"
#首次push
git push -u origin master

日常备份

之后你可以写一个脚本用于定时上传并push到远程

备份脚本因人而异了 0.0

push脚本

git add *
git commit -m "daily backup"
git push -u origin master

之后给予脚本运行权限

chmod +x ./push.sh

设置日常任务:详情见Linux的定时任务

#设置crontab
crontab -e
0 3 * * * your_backup_shell.sh
0 4 * * * your_push_shell.sh

嗯,大功告成 0w0


我想,这大概就是一个自闭患者最后的倔强吧。