sftp put:誤ってファイルを上書きするのを防ぐ方法

sftp put:誤ってファイルを上書きするのを防ぐ方法

私は長い間FileZillaを使用しています。現在、効率性の欠如により、Linuxデスクトップからコマンドライン、sftpLinuxサーバーに切り替えています。

このsftp putコマンドはアップロードに適しています。ただし、FileZillaとは異なり、サーバー上の既存のファイルを上書きしても確認メッセージは表示されません。偶発的な報道をしっかり心配しています。sftp上書きする前に確認を求める方法はありますか?

答え1

いいえ、putこのコマンドはsftp既存のファイルの上書きを確認するための対話型プロンプトを提供できません。それはあなたが何をしているのかを知っていると仮定します。

既存のファイルをアップロードするときに上書きしないようにするには、このsftpコマンドを使用してmkdirリモートホストにディレクトリを作成し、そのディレクトリに変更し、cdファイルを新しい空のディレクトリにアップロードします。

例えば、

uploaddir=$( date +upload_%F )  # i.e. something like "upload_2020-05-18"

sftp remote <<END_SFTP
cd some/remote/path
mkdir $uploaddir
cd $uploaddir
put myfile
END_SFTP

このmkdirコマンドは失敗する作成するディレクトリと同じ名前のディレクトリがすでに存在する場合。sftp上記のように非対話型バッチスクリプトを実行すると、この時点でスクリプトは終了します。

関連情報