是否有mv命令的scp变体?

Chr*_*aes 8 linux scp mv

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

scp *.jpg user@ip:
rm *.jpg
Run Code Online (Sandbox Code Playgroud)

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

Jos*_*lly 12

你可以使用rsync--remove-source-files:

rsync -avz --remove-source-files /local/dir/*.jpg user@ip:/remote/dir 
Run Code Online (Sandbox Code Playgroud)