rsync在传输后删除发送方的文件

era*_*ran 17 rsync

我想从远程计算机下载大量数据.我希望每次文件完成下载时都要在远程机器上擦除数据.

我怎么做?是否有rsync的标志来执行此操作?

gan*_*gav 28

您需要将--remove-source-files选项传递给rsync命令.它告诉rsync从发送端删除作为传输一部分并且已在接收端成功复制的文件(意味着非目录).不要将--delete选项传递给rsync命令,因为它从目标目录中删除了无关的文件.使用rsync成功传输后删除源

语法是:

rsync --remove-source-files -options /path/to/src/ /path/to/dest
rsync --remove-source-files -options /path/to/src/ computerB:/path/to/dest
rsync --remove-source-files -av /path/to/src/*.avi computerB:/path/to/dest
Run Code Online (Sandbox Code Playgroud)

参考:http://www.cyberciti.biz/faq/linux-unix-bsd-appleosx-rsync-delete-file-after-transfer/

  • 有没有办法从源端删除目录? (8认同)
  • 这也很有帮助:https://explainshell.com/explain?cmd=rsync+--dry-run+--remove-source-files+-avzPh (3认同)
  • explainshell.com 是一个做得很漂亮的工具,感谢您的提示。 (2认同)
  • 另请参阅 Unix StackExchange 上有关删除目录的非常有用的帖子:https://unix.stackexchange.com/questions/371144/usage-of-remove-source-files-option-of-rsync (2认同)