我有一个列表文件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