rsync 复制已更改的文件

rsync 复制已更改的文件

我需要每天将一些文件从特定目录复制到不同的位置。我只想复制更改,因此计划使用rsync.这些文件遵循以下命名约定mysql-bin.*

我的命令如下所示

# rsync --update -raz --progress /var/lib/mysql/mysql-bin.*  /dbdata/binarylog/

我的困惑是,因为我计划仅从目录中复制几个文件而不是完整的目录内容,所以我过去* 只复制所需的文件。只是想知道我的命令是否正确以实现相同的目的。

答案1

看起来还不错。尽管为什么要使用-z压缩传输的选项?当您通过慢速网络复制到远程 rsync 服务器时,通常使用此选项。在这种情况下,它会压缩并立即解压缩文件,这只会增加您的 CPU 使用率,而没有任何好处。

-a(archive) 选项意味着( -rrecursive) 选项,因此无需在命令行上显式指定。

您可以使用-n选项(或--dry-run)来检查您的命令。它将显示在不实际复制任何文件的情况下它将执行的操作。要实际查看发生的情况,您还应该使用选项-v(或--verbose)。

所以:

rsync -uanv /var/lib/mysql/mysql-bin.*  /dbdata/binarylog/

一旦您对试运行中正确列出的文件感到满意,请删除nv

rsync -ua --progress /var/lib/mysql/mysql-bin.*  /dbdata/binarylog/

相关内容