我一开始是看到别的博客上面的教程用的GitHub备份,GitHub普通用户的私有仓库是收费的,所以我这次用国内的码云。我最初看的是这个人的文章https://lolico.moe,同时可以参照码云的帮助文档。

一、注册码云

地址是www.gitee.comhttps://gitee.com,填个邮箱就能注册了,这里就不多说,没难度

二、创建项目

gitee01
这里要选private,因为我们是备份网站,所以不能让别人看到我们的源代码
gitee02
项目名称随便,这里同样选择私有,语言我选择的HTML,其实随便啦。

三、本地初始化项目

首先,你需要执行下面两条命令,作为 git 的基础配置,作用是告诉 git 你是谁,你输入的信息将出现在你创建的提交中。

git config --global user.name "你的名字或昵称"
git config --global user.email "你的邮箱"

然后在你的需要初始化版本库的文件夹中执行:

cd /www/wwwroot/xxx.com //进入网站的目录
git init
git remote add origin <你的项目地址>

PS:项目地址就是你刚刚所创建的项目地址,如下图,点击复制即可
gitee03

四、如何创建ssh公钥

ssh-keygen -t rsa -C "[email protected]"

[email protected]是你的邮箱,连续回车三次就可以了
查看你的 public key,并把他添加到码云

cat /root/.ssh/id_rsa.pub

把输出的复制下来,进入码云的设置
gitee04
侧栏中选择ssh公钥,把刚刚复制的填进去,确定就行了

五、尝试第一次同步

cd /www/wwwroot/xxx.com //进入网站目录
git add -A //把目录下所有文件变化(增、删、改)提交到暂存区

如果你想只增、改而不删,那么可以用git add .命令代替
git commit -m "backup" //提交所有更改,这个"backup"可以随意填写,没有影响,其实就是你提交改动的时候的说明,但是 commit 的时候必须要有这个说明
ssh-agent bash //启动 SSH 密钥管理器
ssh-add /root/.ssh/id_rsa //将之前我们创建的gitee密匙文件添加到密匙管理器中
git push -u origin master //推送所有更改到 Github 项目
等待命令执行,完成可以在我的码云看到了
我的码云

六、设置每天同步

实际上就是使用 crontab 定时任务每天git push一次,但是操作与上面略有不同,并且有一些需要注意的点如果你没有安装 crontab,那么百度一下安装方法自行安装,此处不再赘述
首先找个你喜欢的目录,创建一个脚本例如/root/backup_website.sh,然后写入以下内容并保存

!/bin/bash

cd /www/wwwroot/xxx.com
git add -A
git commit -m "backup"
ssh-add /root/.ssh/id_rsa
git push -u origin master

接着编辑 crontab 的配置文件,一般是/var/spool/cron/crontabs/root,在最下面加入这行,然后保存退出

30 3 * * * ssh-agent bash /root/backup_website.sh

这条 crontab 命令代表每天凌晨3:30分执行ssh-agent bash /root/backup_website.sh命令
接着重启一下 crontab 使新配置文件生效

# CentOS6 系列及以下
service crond restart
# CentOS7 系列
systemctl restart crond.service
# Ubuntu / Debian 系列
/etc/init.d/cron restart

OK这样就会每天自动同步了

最后修改:2022 年 04 月 18 日
感谢您的支持