加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 获取rsync将文件从源移动到目标?

发布时间:2020-12-13 17:59:52 所属栏目:Linux 来源:网络整理
导读:rsync对我的项目来说是个不错的选择吗? 我必须 : – 通过SSH将文件从源文件复制到目标文件夹, – 确保复制所有文件, – 复制后删除源文件. – 如果我有冲突名称,我必须重命名文件. 看起来我可以使用选项: – remove-source-files(删除源文件) 但是rsync如
rsync对我的项目来说是个不错的选择吗?

我必须 :
– 通过SSH将文件从源文件复制到目标文件夹,
– 确保复制所有文件,
– 复制后删除源文件.
– 如果我有冲突名称,我必须重命名文件.

看起来我可以使用选项: – remove-source-files(删除源文件)
但是rsync如何管理冲突,我可以有规则吗?

我的项目的用例:

我在服务器A上运行科学计算,结果被插入文件夹“process”,对于每个计算,我有一个这样的存储库:/ process / calc1.
现在我想将存储库“/ calc1”传输到服务器B(我得到/ process / calc1),并从服务器A中删除“calc1”.
…在另一个计算中,我在服务器A上得到“/ process / calc2”,想法也是在服务器B上的“/ process /”目录中移动“calc2”,然后我现在在服务器B上:
– / process / calc1
– / process / calc2
(和/ server / on服务器A为空).

rsync如何管理冲突(在服务器B上)如果在新计算之后我在服务器A中有另一个文件夹如“/ process / calc1”(如果服务器B上已经存在“/ process / calc1”)?

是否可以使用rsync添加规则,并在服务器B中将“/ process / calc1”重命名为“process / calc1R2”?等等(例如:calc1R3)?

谢谢.

解决方法

如果你真的想使用rsync,听起来你需要一些–backup,– backup-dir和–suffix的组合.我认为你能得到的最接近的是这样的东西
rsync -abv --suffix R1 --remove-source-files src/ dst/

这将接近你想要的,但它不会完全按照你想要的方式重命名文件. –suffix选项将文本附加到现有文件的末尾,但它仅针对第一个冲突执行此操作.如果再次运行它,它只会覆盖您的第一个备份.每次运行命令时都必须更改该后缀值,如果您使用带有时间戳的内容,这将起作用,例如:

rsync -abv --suffix `date +%Y%m%d%k%M%S` --remove-source-files src/ dst/

我不确定这对你所追求的是否有点过分,但它应该符合你的要求.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读