有没有办法自动重命名接收器上的现有文件?例如:如果filename
已经存在,它会自动重命名filename
为类似filename_001
,filename_002
等等....
到目前为止,我所拥有的是:
$ rsync -rh --progress --stats --exclude '.thumb' \
--update --perms /origin /destination
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我知道 rsync 必须--ignore-existing
“跳过接收器上存在的更新文件”,但我想我需要的是类似--rename-existing
.
如果您正在寻找保持数据集的增量版本(不使用版本控制,如git的建议,这将是这样做的其他替代方式)考虑使用rsnap
替代rsync
。
它将允许您拍摄文件夹或文件集的快照,以便您可以在任何给定时间点恢复整个事物的状态。与其保存整个文件的多个副本,不如只保存它们之间的差异,从而为您节省所有这些副本的空间。
由于它使用 rsync 在幕后复制文件,因此您可以将 rsync 选项附加到命令的末尾。例如,在您要保留 10 个备份副本的情况下,您可以执行以下操作:
$ rsnap 10 /origin /destination -- --progress --stats \
--exclude '.thumb' --update --perms
Run Code Online (Sandbox Code Playgroud)