Skip to main content

如何使用rsync复制Linux文件夹和文件

02 Linux的档案属性和目录配置 1 - 鸟哥的私房菜linux (六月 2025)

02 Linux的档案属性和目录配置 1 - 鸟哥的私房菜linux (六月 2025)
Anonim

rsync是Linux的文件传输程序,它允许您使用简单命令复制目录和文件,该命令包含传统复制功能之外的其他选项。

rsync的一个有用功能是,当您使用它从命令行复制目录时,您可以系统地排除文件。这样,如果您使用rsync进行文件备份,则可以让它仅备份您真正想要归档的文件,同时避免其他所有内容。

rsync语法

正确使用rsync命令要求您遵循正确的语法:

rsync OPTION … SRC … DESTrsync OPTION … SRC … USER @ HOST:DESTrsync OPTION … SRC … USER @ HOST :: DESTrsync OPTION … SRC … rsync:// USER @ HOST :PORT / DESTrsync 选项 … USER @主机:SRC DESTrsync OPTION … USER @ HOST :: SRC DESTrsync OPTION … rsync:// USER @ HOST :PORT / SRC DEST

该 选项 上面提供的空间可以填充许多东西。见 选项摘要 rsync文档的一部分是完整列表,但这里有几个例子:

  • -v, --verbose:增加冗长度
    • --info = FLAGS :细粒度的信息冗长
    • --debug = FLAGS :细粒度的调试详细程度
    • --msgs2stderr:用于调试的特殊输出处理
  • -q, - 安静:抑制非错误消息
    • --no-MOTD:抑制守护进程模式MOTD
  • -C, --checksum:基于校验和跳过,而不是模态时间和大小
  • -r, --recursive:递归目录
  • -b, --backup:进行备份
    • --backup-DIR = DIR :使备份成为基于的层次结构 DIR
    • --suffix = 后缀 :备份后缀
  • -d, --dirs:传输目录而不递归

rsync示例

以下是一些如何将rsync与其中一些选项一起使用的示例:

小费:在每个示例中,粗体文本都无法更改,因为它是命令的一部分。正如您所知,文件夹路径和其他选项是我们特定示例的自定义,因此当您使用它们时它们会有所不同。

rsync的 /home/jon/Desktop/data/*.jpg / home / jon / Desktop / backupdata /

在上面这个例子中,来自的所有JPG文件 /数据/ 文件夹被复制到 /资料备份/ 用户Jon的桌面文件夹上的文件夹。

rsync --max-size =2k / home / jon /桌面/数据/ / home / jon /桌面/ backupdata /

这个rsync示例有点复杂,因为它设置为 不 复制文件,如果它们大于2,048 KB。也就是说,仅复制小于规定大小的文件。您可以使用 k,m, 要么 G 在1,024乘数中表示千字节,兆字节和千兆字节,或 KB , MB , 要么 GB 使用1,000。

rsync --min-size =30mb / home / jon /桌面/数据/ / home / jon /桌面/ backupdata /

同样可以做到 --min大小 ,如上所述。在此示例中,rsync仅复制30 MB或更大的文件。

rsync --min-size =30MB - 进展 / home / jon / Desktop / data / / home / jon / Desktop / backupdata /

当您使用rsync复制相当大的文件(如30 MB或更大)时,尤其是当存在大量文件时,您可能希望查看复制功能的进度,而不是假设命令已冻结。在这些情况下,使用 - 进展 观看流程达到100%的选项。

rsync --recursive / home / jon / Desktop / data / home / jon / Desktop / data2

该 --recursive 选项提供了一种将整个文件夹复制到其他位置的简便方法,例如 / DATA2 / 在我们的示例中的文件

rsync -r --exclude =“*.deb文件' / home / jon / Desktop / data / home / jon / Desktop / backupdata

您还可以复制整个文件夹但排除特定文件扩展名的文件,例如上面的示例中的DEB文件。这一次,整个 /数据/ 文件夹被复制到 /资料备份/ 与前面的示例中一样,但是所有DEB文件都从副本中排除。