9
回答
使用git作为文件备份的方案?
华为云数据库免费试用   

本人使用linux,笔记本有两块硬盘,固态盘装了elementary OS做系统,机械盘做了数据盘存放一些软件文件什么的,开机自动挂载。开发需要Android SDK(全部十几个G),我放在了系统盘(固态)上,据说会运行快一点,所以没有直接用数据盘上的,但是会不定时重装系统(这是个坏习惯),为了保存数据所以在数据盘上又拷贝了一份SDK。正常情况下我每次更新都要从一个盘复制到另一个盘,慢又麻烦。还有一个移动硬盘,也备份了一份,不定期。

我现在想使用GIT的本地文件仓库功能作为自动备份,每次一个盘更新后直接使用git同步,不需要全部拷贝,顺便记录版本更新日志,方便因为某些兼容性问题回滚。

我现在想知道这样做会有什么问题吗(SDK太大会不会有问题)?或者有什么别的备用方案,比如专业的dump和restore,方便我只在一个地方更新一次,在三个地方同时备份(一个数据盘,基本不会有变动,一个系统盘,随时可能被我重装,但是主要用的就是这里的SDK,一个移动盘,偶尔插在笔记本上),能够使用脚本做成自动化的方案最好,欢迎提出各种意见。

举报
寂寞园林
发帖于3年前 9回/1K+阅
共有9个答案 最后回答: 3年前
用linux也会经常重装系统? 重装系统动力何在?
--- 共有 1 条评论 ---
寂寞园林前期不适应,又想玩大游戏,装回过几次windows;有时候是想装个新发行版玩;有时候是玩系统把配置弄坏了,重装快。以前太闲了,没事就重装,现在不怎么折腾了,办公也用的windows虚拟机,就不怎么重装了。 3年前 回复
用版本库当网盘用是我强烈反对的做法
--- 共有 1 条评论 ---
寂寞园林我真正的需求其实并不想做网盘,可以看一下我下面的评论,我只是想尽可能找到一些类似增量更新的方案,不用每次都全部复制粘帖。类似diff和patch打补丁的样子。 3年前 回复

    众所周知,git的性能很差,尤其是不适宜处理大量文件。不仅微软系的同学喷git,连开源先锋的fb都不看好git这玩意。facebook之前用的就是Git,后来由于性能问题改用mercurial了。

    经验结论是上了1G的文件量后,git就吭哧了。据微软的童鞋反映,微软的代码库有200多个G。比如visual studio什么的,编译后的安装包就有几个G,那源码几十个G很正常。git肯定是不堪大用的。

    所以,git并不是一个好的文件备份管理软件,只适合代码这种数据量不大的场景。后来出现了一个专门针对大数据量的git扩展git LFS,侧面反映了git性能很差。

--- 共有 1 条评论 ---
寂寞园林受教了 3年前 回复

重新整理一下我的奇怪需求:我有三个地方都存放了Android的SDK,我在其中一个地方更新了SDK,如何才能尽可能高效地将另外两个地方的SDK也保持最新?

我不想每次都全部拷贝过去,太大又慢,也不想再用VPN重新运行更新命令。我希望能够做到类似增量拷贝的作用,其实有点像diff和patch的样子,只是拷贝了需要变动的部分就能将几个地方都保持一致,虽然这个变动的部分很可能会比较大,大概一个G左右。

欢迎给出各种方案。

忽然想起来如果我直接复制粘帖的话,系统会问我需要不要覆盖,它是只覆盖不同的地方还是连相同的地方都会再覆盖一次,这会不会就是我想要的方案了?好烦啊,回头再去查查。

虽然是差异存储,时间长了也是很大的,

用起来想切换版本还是要导出的,还不如用软连接,环境变量

没必要保存全部SDK。

SDK里大部分都是没用的,有最新的就好,百八十M吧,测试肯定用真机或者Genymotion,DOC看官网,即便手头儿只有4.0的SDK,影响也不大…兼容包里没的东西谁用…拉条好网线也就几分钟的事。

但是,这远远还进入不到开发………………………………

反复重装不仅仅是SDK的问题,IDEA/AS/GRADLE的缓存文件你注意过么…目测as的索引通常过G,gradle下载的渣渣通常过G…几k的依赖依赖包tm下载几m几十m的渣渣,网速烂或ss不给力的时候就想起eclipse的好了…

顶部