文章目录
- rsync常用命令总结
- 命令行参数解释
- 两个目录完全一样同步命令
- 怎么知道 rsync 同步了哪些文件
- 工作场景错误总结
- Rsync进程退出状态: 23
rsync常用命令总结
命令行参数解释
rsync -atcl -pXEogR --delete "/app/static//" "/backup//"
这段代码是一个 rsync 命令,用于将源目录 /app/static/
中的文件和目录同步到目标目录 /backup/
。
各个选项和参数的解释:
- -a:归档模式,表示传输时保持文件的属性,包括权限、所有者和组、时间戳等。
- -t:保持源文件的时间戳。
- -c:根据文件的校验和(checksum)进行比较,而不是根据时间和大小。
- -l:保持文件的链接。
- -p:保持文件的权限。
- -X:保持文件的扩展属性。
- -E:保持文件的扩展属性。
- -o:保持文件的所有者。
- -g:保持文件的所属组。
- -R:递归地传输目录及其内容。
- –delete:在目标目录中删除不存在于源目录中的文件。
将 /app/static/ 目录中的所有文件和目录同步到 /backup/ 目录,并确保目标目录中的文件与源目录保持一致。该命令将传输文件的属性、时间戳、权限等,并删除目标目录中不存在于源目录中的文件。
两个目录完全一样同步命令
rsync -rtcl -pXE --delete --rsync-path=rsync ./ "/home/backup_dir" --log-file=sync.log
-r:递归复制目录及其内容。
-t:保持文件时间戳一致。
-c:通过比较文件的校验和来判断是否需要复制。
-l:保留符号链接。
-p:保留文件权限。
-X:保留扩展属性。
-E:保留扩展属性。
–delete:删除目标目录中不存在于源目录中的文件。
-X 和 -E 选项在 rsync 命令中具有相同的功能,用于保留文件的扩展属性。
这两个选项在不同的 rsync 版本中可能有所差异。早期版本的 rsync 使用 -E 选项来保留扩展属性,而较新的版本则使用 -X 选项。
因此,如果你使用的是较新的 rsync 版本,建议使用 -X 选项来保留扩展属性。但是如果你使用的是较早的 rsync 版本,可能需要使用 -E 选项。
无论是使用 -X 还是 -E,它们都用于确保文件的扩展属性在进行 rsync 文件同步时得到保留。
怎么知道 rsync 同步了哪些文件
方法1:在执行 rsync 命令时,可以使用 -v(或 --verbose)选项来显示详细的输出,以了解哪些文件正在进行同步操作。
注意,由于 -v 选项会产生大量的输出,如果同步的文件很多,输出可能会很长。你可以根据需要将输出导入文件或使用管道操作符 | 进行过滤和搜索。
方法2: --log-file 会记录文件同步的情况。
–log-file=sync.log
执行完 rsync 命令后,你可以使用文本编辑器或命令行工具查看 sync.log 文件,以查看同步的文件列表和其他详细信息
# cat sync.log
2024/02/06 15:27:07 [10899] building file list
2024/02/06 15:27:07 [10899] .d..t...... ./
2024/02/06 15:27:07 [10899] >f+++++++++ bbbb
2024/02/06 15:27:07 [10899] >f+++++++++ sync.log
2024/02/06 15:27:07 [10899] sent 596 bytes received 62 bytes total size 106
工作场景错误总结
Rsync进程退出状态: 23
的建议是列出 rsync -av 输出并查找类似的错误。
rsync 报错。
解决方法:
情况1:
rsync的source 有些文件没有读权限,所以报错。:
chmod +r ./* -R
再次同步,即可OK.