外部データ連携用のスクリプト
外部のサブシステムとデータ連携する際に、SFTP、FTPといった方式でよくデータファイルの授受を行うことがあるため、こういった類のスクリプト(プログラム)を組み際に入れ込んでおいた方がよいと思われるロジックや設計上の考慮点をまとめる。
Case別
受信時&他の場所に退避時
-
引数チェック処理
-
スクリプトに渡す引数の数のチェック
-
スクリプトに渡す引数の妥当性のチェック
-
ディレクトリの存在チェック処理
-
受け取り先になるディレクトリがローカルに存在するかどうかのチェック
-
連携ファイルの有無確認
-
whileループで暫くファイル連携されているかどうかを確認する。
-
連携ファイルの個数確認
-
連携ファイルの個数確認。0個だとwhileループ継続。1個だとOKのような。2個以上はNG。
-
連携ファイルのサイズの固定化確認
-
連携ファイルのサイズが直前のループと同じであることを確認し、送信中でないことの担保を取る。
-
送達確認ファイルの有無確認
-
whileループで暫く送達確認が連携されているかどうかを確認する。
-
送達確認ファイルの個数確認
-
送達確認ファイルの個数確認。0個だとwhileループ継続。1個だとOKのような。2個以上はNG。
-
送達確認ファイルのサイズの固定化確認
-
送達確認ファイルのサイズが直前のループと同じであることを確認し、送信中でないことの担保を取る。
-
退避先での上書きNG確認
-
退避先をlsするなどしてファイルが上書きされないことを確認する。
-
退避先へとファイルをmoveする
-
退避先へ連携ファイル・エンドファイルをmove
-
受信先からファイルが削除されているかどうかを確認する
-
ファイルの有無確認。moveされて無い想定のため無ければOK