Home
Categories
WIKI
Topic
User
LANGUAGE:
中文
English
使用rsync来做同步备份以达到使用git的效果
Apps Section
946
views ·
1
replies ·
To
floor
Go
攻城狮
deepin
2017-09-18 04:46
Author
本帖最后由 bingeneral 于 2017-9-18 12:53 编辑
不想听我废话的同学可以直接看我橙色字体部分,\(^o^)/~。
这段时间接触了git,让我深切感受到了它的强大之处。其实git的强大之处在我觉得就是它可以记录你的操作过程,让你的项目文件永远保持最新状态,你的所有改动都可以在git中同步,不管是修改、增加还是删除。这使我觉得如果用git来做文件备份,效果可能比用tar来做更有效率。
tar本身也可以做文件备份,但是它有一个致命缺点,就是做增量备份的时候如果原目录下的某个文件删除了,他并不能同步到已备份的文件中去,这样就使得我们的tar包里有了垃圾文件。所以每次备份的时候都得做完整备份,十分消耗时间和资源。那么用git就是最好的选择吗?
我们知道git多用来做团队开发,多人协作的项目,并且都要上传到代码托管平台里面,虽然同步到本地也可以实现,但git的操作步骤不免还是有些繁琐。试想我们只是要做一个私人的备份,再用git未免有点出力不讨好了。
rsync的大名其实我早就听说过,但是相信有很多人和我一样,在刚开始接触rsync时觉得难以下手,到底该怎么备份我们的文件,于是便放弃了这款神器。相信通过这篇文章,大家可以快速掌握rsync,实现我们的高效备份。
rsync支持云端和本地两种备份方式,和git一样。但是这里不讲云端备份,因为云端再好也会受到空间、网速和安全性的限制,所以我们备份最好还是采用移动硬盘的方式进行。这里我给出一条可以达到和git一样功能的模板命令:rsync -avu --delete SRC [SRC]... DEST
注意源目录可以有多个,最后一个目录为目标目录。源目录的写法有讲究:SRC/表示只备份SRC目录下的文件;SRC表示在DEST中会创建SRC目录,大家自己试几次便会明白。-u和--delete是实现同步备份的关键选项,其中-u表示只替换更新目标目录下的旧版文件,如果目标目录下的文件比源目录下的新则保持不变,保证备份的文件始终是最新版本,它是以文件的修改时间来确定的,而不是像git以文件内容来确定版本,这点不如git强大。--delete可以将你源目录下已经删除的文件,在你的目标目录同步删除,保证不会有垃圾文件。
深度应用商店还提供了一款rsync的图形界面版本Grsync,若是讨厌命令行可以试着用用,不过我本人觉得Grsync反而让人看着过于复杂,不如命令来的方便快捷。
如此看来,rsync非常适合做私人备份。但是假如你需要将你的历史版本全部保存,那rsync做不到,还是老老实实用git吧。
如果大家有什么更好的方法进行同步备份,或者我有什么地方说错了,欢迎在下方留言交流~
Reply
Like 0
Favorite
View the author
All Replies
jingle
deepin
2017-09-18 19:50
#1
谢谢分享
Reply
Like 0
View the author
Please
sign
in first
Featured Collection
Change
[Tutorial] deepin25 WSL Offline Installation Guide
UOS AI 2.8 Released! Three New Intelligent Agents & Major Evolution
Solid Q&A | deepin 25 Common Questions – The Immutable System Edition
New Thread
Popular Ranking
Change
Вы настраиваете внешний вид Deepin?
screenshot problem
Error when installing ms edge browser
Как установить xDroid (麟卓卓懿) на Deepin 25
Popular Events
More
不想听我废话的同学可以直接看我橙色字体部分,\(^o^)/~。
这段时间接触了git,让我深切感受到了它的强大之处。其实git的强大之处在我觉得就是它可以记录你的操作过程,让你的项目文件永远保持最新状态,你的所有改动都可以在git中同步,不管是修改、增加还是删除。这使我觉得如果用git来做文件备份,效果可能比用tar来做更有效率。
tar本身也可以做文件备份,但是它有一个致命缺点,就是做增量备份的时候如果原目录下的某个文件删除了,他并不能同步到已备份的文件中去,这样就使得我们的tar包里有了垃圾文件。所以每次备份的时候都得做完整备份,十分消耗时间和资源。那么用git就是最好的选择吗?
我们知道git多用来做团队开发,多人协作的项目,并且都要上传到代码托管平台里面,虽然同步到本地也可以实现,但git的操作步骤不免还是有些繁琐。试想我们只是要做一个私人的备份,再用git未免有点出力不讨好了。
rsync的大名其实我早就听说过,但是相信有很多人和我一样,在刚开始接触rsync时觉得难以下手,到底该怎么备份我们的文件,于是便放弃了这款神器。相信通过这篇文章,大家可以快速掌握rsync,实现我们的高效备份。
rsync支持云端和本地两种备份方式,和git一样。但是这里不讲云端备份,因为云端再好也会受到空间、网速和安全性的限制,所以我们备份最好还是采用移动硬盘的方式进行。这里我给出一条可以达到和git一样功能的模板命令:rsync -avu --delete SRC [SRC]... DEST
注意源目录可以有多个,最后一个目录为目标目录。源目录的写法有讲究:SRC/表示只备份SRC目录下的文件;SRC表示在DEST中会创建SRC目录,大家自己试几次便会明白。-u和--delete是实现同步备份的关键选项,其中-u表示只替换更新目标目录下的旧版文件,如果目标目录下的文件比源目录下的新则保持不变,保证备份的文件始终是最新版本,它是以文件的修改时间来确定的,而不是像git以文件内容来确定版本,这点不如git强大。--delete可以将你源目录下已经删除的文件,在你的目标目录同步删除,保证不会有垃圾文件。
深度应用商店还提供了一款rsync的图形界面版本Grsync,若是讨厌命令行可以试着用用,不过我本人觉得Grsync反而让人看着过于复杂,不如命令来的方便快捷。
如此看来,rsync非常适合做私人备份。但是假如你需要将你的历史版本全部保存,那rsync做不到,还是老老实实用git吧。
如果大家有什么更好的方法进行同步备份,或者我有什么地方说错了,欢迎在下方留言交流~