アップロードまたはダウンロード直後のファイルをSFTPサーバー上で移動または名前変更する方法

アップロードまたはダウンロード操作が成功した後にSFTPサーバー上でファイルを移動する必要がある場合は、ポスト転送トリガーを使用してください。

ポスト転送トリガーは、リモートサーバーとローカルコンピューター間のファイル転送成功後に実行され、任意のシェルコマンド列またはシェルスクリプトを実行できます。パラメーターとして、SFTPサーバー上の転送済みファイルの完全パスを表す %remote_file% variable、日付関連変数、その他のFTPGetter組み込み変数を使用できます。

重要! SFTPサーバー上でシェルコマンドを実行するには、アカウントにシェルアクセス権限が必要です。これを確認するのは非常に簡単です - ターミナル上でSFTPサーバーに対してコマンドを実行できる必要があります。アカウントにその権限がない場合は、SFTPサーバー管理者へアクセス権限をリクエストしてください!

例 #1: 転送されたファイルをSFTPサーバー上の別フォルダーへ移動する

この操作を実行するには、シェルスクリプト入力欄へ以下のコマンドを追加してください。


mv %remote_file% /%remote_file_name%


SFTPサーバー上でファイルを移動するためのSFTPシェルコマンド

動作説明: ファイル転送成功後、FTPGetter は2つのパラメーターを使用して mv シェルコマンドを実行します。最初のパラメーターは、最近転送されたファイル(SFTPサーバー上)の完全パスを含む %remote_file% 変数です。2番目のパラメーターは、SFTPサーバー上での新しい完全ファイル名です。

重要! 転送済みファイルの移動、名前変更、削除は推奨しません。次回FTPGetterがスケジュールタスクを実行する際、SFTPサーバー上でそのファイルを見つけられなくなり(先ほど名前変更/移動/削除したため)、再度転送してしまう可能性があります。まず転送済みファイルを別フォルダーへコピーし、その後そこで各種操作を行うことを推奨します。

以下は、ファイル移動用のさまざまなシェルコマンド例です:

例 #2: 現在の日付をファイル名へ追加しながらファイルを移動する


mv %remote_file% /%remote_file_name_only%-%c_yyyy%-%c_mm%-%c_dd%.%remote_file_name_ext%

SFTPサーバー上でファイルを移動するためのSFTPシェルコマンド

例 #3: 新しい .done 拡張子を付けてファイルを移動する


mv %remote_file% /%remote_file_name_only%.done

SFTPサーバー上でファイルを移動するためのSFTPシェルコマンド

例 #4: 現在の日付をファイル名へ追加しながらファイル名を変更する


mv %remote_file% %remote_file_path%/%remote_file_name_only%-%c_yyyy%-%c_mm%-%c_dd%.%remote_file_name_ext%

SFTPサーバー上でファイルを移動するためのSFTPシェルコマンド

次に、最近アップロードされたファイルをSFTPサーバー上で コピー または 解凍 する方法を見ていきます。

転送後にローカルコンピューター上で ファイルを移動 する必要がありますか?

ページトップへ戻る