以下是 60 条 rsync 常用命令及其说明:
rsync source_dir destination_dir
:将源目录下的文件和文件夹同步到目标目录。rsync -a source_dir destination_dir
:以归档模式同步目录,保留文件属性和权限。rsync -v source_dir destination_dir
:输出详细的同步过程信息。rsync -r source_dir destination_dir
:递归同步目录及其子目录。rsync -z source_dir destination_dir
:启用压缩功能,减少数据传输量。rsync -c source_dir destination_dir
:通过比较校验和来检测文件是否已更改。rsync --delete source_dir destination_dir
:在目标目录中删除那些源目录中不存在的文件。rsync --exclude='pattern' source_dir destination_dir
:排除与指定模式匹配的文件或文件夹。rsync --exclude-from='file' source_dir destination_dir
:从指定文件中读取排除模式,并进行同步。rsync --include='pattern' source_dir destination_dir
:只包括与指定模式匹配的文件或文件夹。rsync --include-from='file' source_dir destination_dir
:从指定文件中读取包含模式,并进行同步。rsync --progress source_dir destination_dir
:显示同步进度和速度信息。rsync --dry-run source_dir destination_dir
:模拟同步操作,显示将要发生的更改,但不实际执行。rsync --bwlimit=KBPS source_dir destination_dir
:限制带宽使用率,以 KB/s 为单位。rsync --size-only source_dir destination_dir
:仅通过文件大小来判断是否需要同步。rsync --checksum source_dir destination_dir
:通过强制进行完整校验和判断是否需要同步。rsync --delete-excluded source_dir destination_dir
:在同时使用--exclude
和--delete
时,删除被排除的文件。rsync --backup source_dir destination_dir
:备份目标目录中已存在的文件。rsync --backup-dir=DIR source_dir destination_dir
:将目标目录中的已存在的文件备份到指定目录。rsync --link-dest=DIR source_dir destination_dir
:创建硬链接到已存在的文件,减少空间占用。rsync --ignore-existing source_dir destination_dir
:忽略目标目录中已存在的文件。rsync --timeout=TIME source_dir destination_dir
:设置连接超时时间。rsync --progress --partial source_dir destination_dir
:允许在中断后重新传输,同时显示实时进度。rsync -n --itemize-changes source_dir destination_dir
:显示将要发生的更改的详细列表,但不实际执行操作。rsync -a --exclude='pattern1' --exclude='pattern2' source_dir destination_dir
:排除多个模式的文件或文件夹。rsync -avzP source_dir remote_server:destination_dir
:将源目录同步到远程服务器上的目标目录。rsync -a --delete source_dir remote_server:destination_dir
:将源目录同步到远程服务器上的目标目录,并删除远程目录中不存在的文件。rsync -a --dry-run --delete source_dir destination_dir
:模拟同步操作,在目标目录中显示将要被删除的文件。rsync -a --exclude-from='file' source_dir remote_server:destination_dir
:从指定文件中读取排除模式,并将源目录同步到远程服务器上的目标目录。rsync -rltDv source_dir remote_server:destination_dir
:同步目录,并保持目录结构和权限,但不同步文件的属性。rsync -avz --include='*.txt' --include='*.doc' --exclude='*' source_dir destination_dir
:只同步指定类型的文件,排除其他所有文件。rsync -a --filter=':- .gitignore' source_dir destination_dir
:使用 .gitignore 文件中定义的过滤规则进行同步。rsync -a --link-dest=DIR --backup-dir=DIR source_dir destination_dir
:将已存在的文件创建硬链接,并备份到指定目录。rsync -a --exclude='.git/' source_dir destination_dir
:排除 .git 文件夹及其内容。rsync -a --max-size='100K' source_dir destination_dir
:仅同步小于 100KB 的文件。rsync -a --min-size='1M' source_dir destination_dir
:仅同步大于 1MB 的文件。rsync -av --bwlimit=500 source_dir destination_dir
:在同步过程中限制带宽使用率为 500 KB/s。rsync -a --include='*/' --exclude='*' source_dir destination_dir
:只同步文件夹,忽略文件。rsync -a --prune-empty-dirs source_dir destination_dir
:忽略空文件夹。rsync -avzP --log-file='log.txt' source_dir destination_dir
:将同步过程信息记录到指定的日志文件中。rsync -a --exclude='*.txt' --delete-excluded source_dir destination_dir
:排除所有的 .txt 文件,并在目标目录中删除已排除的文件。rsync -a --link-dest=DIR --exclude='*.txt' source_dir remote_server:destination_dir
:将源目录同步到远程服务器上的目标目录,并创建硬链接到已存在的文件,但排除所有的 .txt 文件。rsync -a --include='*.txt' --exclude='*.doc' source_dir remote_server:destination_dir
:只同步 .txt 文件,排除 .doc 文件,并将源目录同步到远程服务器上的目标目录。rsync -a --exclude='*.txt' --exclude='exclude_folder/' source_dir remote_server:destination_dir
:排除所有的 .txt 文件和exclude_folder/
文件夹,并将源目录同步到远程服务器上的目标目录。rsync -n --exclude-from='exclude.txt' source_dir destination_dir
:从指定文件中读取排除模式,并模拟同步操作,但不实际执行。rsync -a --exclude='pattern' --delete-excluded source_dir remote_server:destination_dir
:排除与指定模式匹配的文件或文件夹,并在远程服务器上的目标目录中删除已排除的文件。rsync -a --ignore-existing --size-only source_dir destination_dir
:忽略目标目录中已存在的文件,并仅通过文件大小来判断是否需要同步。rsync -a --remove-source-files source_dir destination_dir
:在同步后将源目录中已同步的文件删除。rsync -a --filter='P /pattern/' source_dir destination_dir
:使用自定义过滤规则进行同步,其中包含正则表达式模式。rsync -a --filter='R /pattern/' source_dir destination_dir
:使用自定义过滤规则进行同步,其中包含扩展的正则表达式模式。rsync -a --filter='S /from/to/' source_dir destination_dir
:使用自定义过滤规则进行同步,其中包含字符串替换规则。rsync -a --filter='A /from/to/' source_dir destination_dir
:使用自定义过滤规则进行同步,其中包含全局字符串替换规则。rsync -a --chmod=MODE source_dir destination_dir
:按照指定的权限模式设置同步后目标文件的权限。rsync -a --chown=USER:GROUP source_dir destination_dir
:按照指定的用户和组设置同步后目标文件的所有者。rsync -a --exclude='pattern' --exclude-from='file' --delete-excluded source_dir destination_dir
:排除多个模式的文件或文件夹,并从指定文件中读取排除模式,并在目标目录中删除已排除的文件。rsync -a --include='pattern' --include-from='file' --exclude='*' source_dir destination_dir
:只包括与指定模式匹配的文件或文件夹,并从指定文件中读取包含模式,同时排除其他所有文件。rsync -a --skip-compress=EXT source_dir destination_dir
:跳过指定扩展名的文件压缩。rsync -a --modify-window=SECONDS source_dir destination_dir
:修改时间窗口大小,用于处理 FAT 文件系统的时间戳问题。rsync -a --backup-dir=DIR --suffix=STRING source_dir destination_dir
:将已存在的文件备份到指定目录,并添加自定义后缀。rsync --version
:显示 rsync 的版本信息。
这些命令和选项能够满足大部分常见的文件同步需求,你可以根据具体情况选择适合你的命令进行使用。记得在使用 rsync 命令时小心检查命令参数,以免意外同步或删除重要的数据。