SCPとソースからファイルを削除する

SCPとソースからファイルを削除する

File_Transfer_List.txtscpを実行するファイルのリストを含むリストファイルがあります。

私の要件は、リストファイルに提供されているファイルを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

関連情報