File_Transfer_List.txt
scpを実行するファイルのリストを含むリストファイルがあります。
私の要件は、リストファイルに提供されているファイルをscpしてから、ソースの場所からそのファイルを削除する必要があることです。
私はこれを試しました:
scp File_Name user@server:/destination && rm File_Name ;
テストできません。 SCPをテストする準備ができていません。私が間違っている場合、誰かが私を修正することができますか?
答え1
これには2つの要件があります(ファイル一覧のファイルそしてソースファイルの削除)使用時に悲鳴を上げる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