导航:首页 > 文档加密 > git加密备份

git加密备份

发布时间:2023-02-17 22:18:13

① 10.Macbook上如何使用Git备份普通资料

想让自己的Macbook上的普通文件都在码云上有备份,该如何配置?

查看git版本,在终端中键入指令如下:

在码云上创建一个远程空仓库,拷贝远程仓库的地址。在Mac的终端中,克隆项目:
在终端中键入指令如下:

在科隆远程仓库时,需要校码云上的验账号和密码。

当看到截图所示第三个箭头时,说明已经科隆成功了。接下来就是把需要云备份的文件放到这个本地仓库中即可。

根据自己的情况,把需要云备份的文件放到这个本地仓库中后,进入本地仓库,利用 git status 查看文件状态。接下来就是git常规操作了。
git add . 、 git commit -m 备注 、 git push

git add . 、 git commit -m 备注 、 git push 操作后,push本地仓库到远程,就实现云备份了。

② GitLab 远程 定时备份

一、环境准备

1.gitlab所在的服务器A(centos7,192.168.1.1)
2.备份服务器B(centos7,192.168.1.2)
3.gitlab本地备份目录设置为/var/opt/gitlab/backups/log,本篇也是以此展开
gitlab已经配置了本地备份。如果没有配置,可以参考 http://www.cnblogs.com/straycats/p/7671204.html 。

二、通过密钥配对取消scp传输密码的限制
手动备份数据费时费力。最好的方法就是通过脚本实现远程自动备份。但远程无论是通过SSH登陆,还是通过scp拷贝文件都需要输入密码。

为了克服这个问题,首先需要实现不需要密码的SSH登陆,这样就可以使用 rsync,scp,rexec等命令来做的远程备份了。

2.1 生成密钥对

假设A,B两服务器,现在需要在A机上用root登陆B机,而不需要输入密码。那我们可按照下面的步骤来做:

** 1)在gitlab服务器A上生成rsa证书 **

1、生成的过程中提示输入密钥对保存位置,直接回车,接受默认值就行了。
2、因为之前已经有/root/.ssh/id_rsa 文件存在,因此提示你是否覆盖,输入y表示覆盖
3、接着会提示输入一个密码,直接回车,让它空着。当然,也可以输入一个密码。
4、接着输入确认密码,输入完之后,回车密钥对就生成完了。

这样,在/root/.ssh下生成id_rsa 和 id_rsa.pub 两个文件,其中公共密钥保存在 /root/.ssh/id_rsa.pub,私有密钥保存在/root/.ssh/id_rsa。

** 2)在gitlab服务器A上cp生成rsa公钥证书 **

在/root/.ssh下复制备份一份id_rsa.pub 命名为 id_rsa.pub.A,以便拷贝到远程服务器B。

2.2 生成rsa公钥证书上传到备份服务器B

先在服务器B上创建目录/root/.ssh。

使用scp命令进行远程复制,将服务器A生成的id_rsa.pub.A拷贝到服务器B的/root/.ssh目录下。

此时使用scp命令需要输入密码,当把下面的“2.3 密钥配对”执行后,以后gitlab服务器A使用scp命令复制文件到备份服务器B的话,就不需要输入密码了。

2.3 密钥配对

1)创建authorized_keys文件

在备份服务器B的/root/.ssh下创建authorized_keys文件。

2)将id_rsa.pub.A文件内容追加到authorized_keys 文件中

通过 cat 命令 把id_rsa.pub.A 追写到 authorized_keys 文件中。

3)修改authorized_keys文件的权限

authorized_keys文件的权限很重要,如果设置为777,那么登录的时候,还是需要提供密码的。

4)测试上传文件是否还要输入密码

不放心的话,立刻测试下gitlab服务器A使用scp命令复制文件到备份服务器B是否还要输入密码。

发现在2.3之前,由于没有设置ssh证书授权认证时,上传需要输入密码;2.3操作完后,由于授权认证,已经不需要输入密码了。

三、定时将备份文件传到备份服务器

3.1 创建远程备份脚本

在gitlab服务器A上 ,在/root目录下创建定期备份脚本auto_backup_to_remote.sh。

添加下面的内容,并wq保存。

3.2 修改远程备份脚本auto_backup_to_remote.sh的权限

要能让系统执行 auto_backup_to_remote.sh ,必须修改该脚本的权限。

3.3 创建日志存放目录

3.4 测试远程备份脚本的功能是否可用

现在为了验证脚本是否可以正常运行,我们需要手动执行脚本。

在gitlab服务器A上执行find命令,看是否能够正常查找出我们要scp到远程服务器的Gitlab备份文件。

手动执行脚本auto_backup_to_remote.sh,看是否能够正常上传

等待1-2分钟左右,查看备份服务器B的目录/root/gitlab_backup下是否有服务器A传过来的备份文件。

在备份服务器B上能找到服务器A传过来的备份文件,说明远程备份脚本的功能OK。

如果每次上传都通过人工运行脚本的方式,人工的消耗太大,接着配置定时执行该脚本。

3.5 添加定时计划

定时备份的思路建立在手动的基础上,通过crontab添加定时计划就可以解决这个问题。

一般添加定时计划可以有2种方式:

1.使用命令crontab -e,将定时任务添加后保存。

2.将定时任务添加到/etc/crontab文件中。

我这里采取第一种,使用crontab -e。

结合我之前对公司gitlab本地备份的设计,故设计在备份完10分钟后上传,故分别在每天12:10、19:10进行备份,故添加下面的内容,wq保存。

重启crontab

四、定时删除备份服务器上的备份文件

每个Gitlab备份文件都很大。因此每天备份两次,过不了多久的话,备份服务器B上的磁盘空间可能就会被Gitlab备份文件占用完。

故需要定期清理备份文件,参考备份服务器的空间,暂定保留14天的备份文件。

4.1 创建删除过期备份文件的脚本

设计备份服务器B的/root/gitlab_backup作为接收远程上传备份文件的目录, 故在备份服务器B上 ,先创建该目录。

创建删除过期备份文件的脚本auto_remove_old_backup.sh。

添加下面的内容,并wq保存。

4.2 修改auto_remove_old_backup.sh脚本的权限

4.3 添加定时计划

定时备份的思路建立在手动的基础上,通过crontab添加定时计划就可以解决这个问题。

一般添加定时计划可以有2种方式:

1.使用命令crontab -e,将定时任务添加后保存。

2.将定时任务添加到/etc/crontab文件中。

我这里采取第一种,使用crontab -e。

设计凌晨0点执行删除过期备份文件的脚本,故添加下面的内容,wq保存。

重启crontab

③ 把公司代码上传到了git上,被leader发现了怎么办

个人层面,法律意识不足只是一个方面,另一个方面是对代码的归属和代码的安全性不够重视。当然,有些程序员可能会认为把代码上传到GitHub可以作为备份来管理代码,也就是防止代码丢失。但是我没有意识到开放图书馆的危害性。从公司层面来说,可能没有代码管理和代码安全的重要性来普及和教育员工。员工之所以把代码上传到GitHub进行备份,可能是因为公司没有代码管理仓库和代码管理规范。


由于个人习惯,你可能写的测试账号的密码就是你经常使用的账号密码。从那以后,你也开始裸奔。而且有些程序员会用Python抓取GitHub上的开源代码,用正则表达式匹配密码可能出现的地方,收集密码。果然收集了一大堆密码,而GitHub上的账号名称是可见的,密码已经存在,账号也是可见的。于是,很多程序员也开始在GitHub上裸奔。

④ 移动硬盘作为git远程仓库备份本地文件夹

1、在移动硬盘上新建一个文件夹share,并用git命令建立仓库(名称自取,例子repos)

2、git初始化本地文件夹

3、设置远程仓库(名称自取,例子rmrepos),并同步到仓库

此时仓库已经存在,但无法查看文件,还需要在移动硬盘上拉取文件

4、在移动硬盘上建立文件夹,并初始化git信息后拉取文件
【我的个人文稿】文件夹

5、本地或硬盘上改动文件后,及时提交仓库更新,拉取即可

⑤ git 使用全局记住用户名密码后是明文,有没有加密的方式

在mac机器上可以下载osxkeychain工具(https://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain),将下载的git-credential-osxkeychain挪到git安装目录下,然后使用命令

gitconfig--globalcredential.helperosxkeychain

来告诉git使用osxkeychain方式加密保存密码。


在windows上可以下载winstore工具(https://gitcredentialstore.codeplex.com/),但是这个工具不再继续被维护了,是否和当前git版本兼容只能你自己试一试了。


在其他linux系统上是明文保存的,git假设用户的home文件夹是安全的,其中用来存储git密码信息的文件是只有这个用户自己能读写的。

阅读全文

与git加密备份相关的资料

热点内容
变频器加密密码 浏览:794
美国银行加密市场 浏览:382
我的世界服务器如何tp玩家 浏览:24
app下载统计怎么找 浏览:262
荔枝app怎么看适合自己的发型 浏览:369
魔兽世界client文件夹 浏览:539
解压音乐轻松入睡 浏览:270
c盘文件夹卡顿怎么办 浏览:448
增量调制编译码实验数据 浏览:761
电流采样信号进单片机 浏览:189
编程教育课程收费 浏览:415
服务器的气怎么写 浏览:395
怎么删除授时服务器地址 浏览:143
android基础组件 浏览:666
建兴app怎么变成黑色了 浏览:51
文件压缩包如何加密文件 浏览:183
2010提出的算法 浏览:674
冰柜压缩机的寿命 浏览:105
办公室采访程序员 浏览:569
美橙云服务器购买 浏览:754