SCP 并从源中删除文件

dee*_*puu 3 scp

我有一个列表文件File_Transfer_List.txt,其中包含要执行 scp 的文件列表

我的要求是我需要对列表文件中给出的文件执行 scp,然后从源位置删除这些文件。

我试过这个:

scp File_Name user@server:/destination && rm File_Name ;
Run Code Online (Sandbox Code Playgroud)

我无法测试它,我没有准备好我的 scp 来测试它;如果我错了,任何人都可以纠正我。

Flo*_*elf 9

您在此处有两个要求(来自文件列表的文件删除源文件),强烈要求使用rsync.

根据您的文件列表包含的内容(相对或绝对路径、备份路径等),您可以执行以下操作:

rsync --files-from=filelist.txt --remove-source-files -avz \
      . user@remotehost:/path/to/backup/folder
Run Code Online (Sandbox Code Playgroud)

  • @deepu,如果这个答案解决了您的问题,请花一点时间并通过单击左侧的复选标记来[接受](http://unix.stackexchange.com/help/someone-answers)。这会将问题标记为已回答,也是 Stack Exchange 网站上表达感谢的方式。 (2认同)

ter*_*don 0

如果我理解正确,您有一个包含文件名的文件,并且您希望将每个文件复制到远程服务器,并在复制成功时删除本地文件。如果是这样,您可以这样做:

while IFS= read -r file; do 
    scp -- "$file" user@remote.com:/remote/path && rm -- "$file" 
done < files.txt
Run Code Online (Sandbox Code Playgroud)