是否有mv命令的scp变体?

时间:2014-03-20 13:21:57

标签: linux scp mv

我正在编写一个脚本,将文件从本地系统移动到远程系统。它必须通过像ssh这样的加密通道来实现。做这个的最好方式是什么?我可以通过以下两个步骤执行此操作:

scp *.jpg user@ip:
rm *.jpg

但是,这不是一个原子进程(就像mv用于本地文件系统)。如果复制失败,我将不再拥有本地副本。如何编写此脚本以确保仅在复制成功时才删除本地文件?

2 个答案:

答案 0 :(得分:11)

您可以将rsync--remove-source-files一起使用:

rsync -avz --remove-source-files /local/dir/*.jpg user@ip:/remote/dir 

答案 1 :(得分:1)

另一种解决方案,一次发布

scp /path/src/*.jpg user@host:/path/dst/ && rm /path/src/*.jpg