[Share Experiences] 如何用rsync命令将本地A文件夹中的文件同步备份至本地B文件夹中
Tofloor
poster avatar
鹤舞白沙
deepin
2023-04-30 06:42
Author

办公时经常需要对文件进行定期备份,在windows下可以使用SyncToy(微软同步工具)V2.1 汉化版在本地不同的文件夹之间同步备份文件,那么在Linux系统下如何进行文件同步备份呢?

大名鼎鼎的rsync_3.1.3-6_amd64(其图形化工具名称为CCompare-文件比较工具,可以在UOS家庭版应用商店中下载)的问题在于,它同步文件时会将文件属性中的“修改时间”篡改为同步的时间。而在Deepin或UOS中用以下命令可在本地不同的文件夹之间同步备份文件,且同步时不篡改文件属性中的“修改时间”:

rsync -avu --delete 源路径/ 目标路径/

示例:将电脑D盘文件夹“UOS桌面文件-1”中的文件同步至E盘文件夹“UOS桌面文件-2”中,则同步命令为(打开终端,直接复制粘贴以下命令并回车即可):

rsync -avu --delete /media/电脑用户名XXX/D盘/UOS桌面文件-1/ /media/电脑用户名XXX/E盘/UOS桌面文件-2/

注意正确输入上述命令中的路径:进入源文件夹——右键点击顶部中间的文件路径最后的文件夹名称,并点击“复制路径”(如:file:///media/uos/D盘/UOS桌面文件-1)——粘贴路径到一个文档中——删除最前面的file://,并在路径末尾添加左斜杠生成源路径(如:/media/uos/D盘/UOS桌面文件-1/)——打一个空格——再如法炮制输入目标路径(如:/media/uos/E盘/UOS桌面文件-2/)。

无论是源路径还是目标路径,路径中不可有空格,若有空格,则需用英文状态的双引号将路径包起来(如:"/media/uos/My Passport/360安全云盘同步盘”,My和Passport之间有空格),因为在shell 里,空格默认是参数分割符,会导致路径被截断。

参数说明:

1、-a:archive归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD。

2、-v:verbose详细模式输出,即:同步时显示一些信息,让我们知道同步的过程。

3、-u:加上该选项后,如果目标路径中的文件比源路径新,则不同步。

4、–-delete:是删除目标路径中源路径没有的文件,执行同步后使两边文件保持一致(无差异备份数据),避免目标路径中因为数据冗余而占用过多的存储空间。

Reply Favorite View the author
All Replies
阿尼樱奈奈
Moderator
2023-04-30 06:50
#1

天啊,又一个新的知识点

Reply View the author
jjcui8595
deepin
2023-04-30 07:09
#2

学习了

Reply View the author
ljq790615
deepin
2023-04-30 15:34
#3

学习啦……

如果是本地本分(不包含外置USB设备),会占用较多空间,不妨试试软连接哦。

Reply View the author
deepin
2023-04-30 15:57
#4

我天啊,原来真的可以。

为什么要同步网站文件同步几个就会被终止

Reply View the author
enforcee
deepin
2023-04-30 20:00
#5

路径的快速输入只需要把文件图标从文件管理器拖拽进终端窗口就可以了

Reply View the author
昨夜的星辰
deepin
2023-04-30 21:35
#6

可以试试 freefilesync

图形界面的,还算是比较好用的,也不会修改文件的属性

我一般是在局域网里用于几个电脑间的文件同步

Reply View the author
鹤舞白沙
deepin
2023-05-08 22:13
#7
昨夜的星辰

可以试试 freefilesync

图形界面的,还算是比较好用的,也不会修改文件的属性

我一般是在局域网里用于几个电脑间的文件同步

前段时间已经安装使用上了,确实如你所说。yeah

Reply View the author
鹤舞白沙
deepin
2023-05-08 22:14
#8
enforcee

路径的快速输入只需要把文件图标从文件管理器拖拽进终端窗口就可以了

感谢分享,忘记这茬了,确实可以如此。不过,执行命令时,路径的多余部分还得删除,在终端中删除不方便,效率太低,不如先在WORD文档中处理好命令再将其粘贴至终端中。

Reply View the author