rsync:从远程同步之前在本地备份目录

rsync:从远程同步之前在本地备份目录

我的生产服务器上有一个代码库,它是从远程目录同步的。我想改进 rsync 过程的一件事是让它在执行之前先在本地创建副本并覆盖原始文件。例如

before syncing files from remote :
cp -rf production_code_base production_code_base_old
now syncing remote changes to the production directory

有没有办法做到这一点?

答案1

除了--backup-dir选项(我没有用过,所以不确定是否合适)之外,您还可以使用 进行“硬链接备份” cp -al production_code_base production_code_base_old非常速度很快,因为它不复制数据,并且不会占用未更改文件的空间。

笔记:在这种特定情况下,这是安全的,因为它rsync从不打开现有文件进行写入,而是将所有内容写入临时文件,然后结束mv。其他传输系统可能会覆盖现有文件,从而破坏硬链接“备份”。

答案2

嗯,有很多方法可以做到这一点。比如,cp你刚刚发布的命令。或者你可以使用--backup-dirrsync 选项。

但是你想实现什么目标呢?使用适当的版本控制是否能更好地完成任务?

相关内容