SCP 并从源中删除文件

SCP 并从源中删除文件

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

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

我试过这个:

scp File_Name user@server:/destination && rm File_Name ;

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

答案1

您在这里有两个要求(文件列表中的文件删除源文件)使用时的尖叫声rsync

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

rsync --files-from=filelist.txt --remove-source-files -avz \
      . user@remotehost:/path/to/backup/folder

答案2

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

while IFS= read -r file; do 
    scp -- "$file" [email protected]:/remote/path && rm -- "$file" 
done < files.txt

相关内容