0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

外部データ連携用のスクリプトで考慮すべき点

Last updated at Posted at 2019-10-15

外部データ連携用のスクリプト

外部のサブシステムとデータ連携する際に、SFTP、FTPといった方式でよくデータファイルの授受を行うことがあるため、こういった類のスクリプト(プログラム)を組み際に入れ込んでおいた方がよいと思われるロジックや設計上の考慮点をまとめる。

Case別

受信時&他の場所に退避時

  • 引数チェック処理

  • スクリプトに渡す引数の数のチェック

  • スクリプトに渡す引数の妥当性のチェック

  • ディレクトリの存在チェック処理

  • 受け取り先になるディレクトリがローカルに存在するかどうかのチェック

  • 連携ファイルの有無確認

  • whileループで暫くファイル連携されているかどうかを確認する。

  • 連携ファイルの個数確認

  • 連携ファイルの個数確認。0個だとwhileループ継続。1個だとOKのような。2個以上はNG。

  • 連携ファイルのサイズの固定化確認

  • 連携ファイルのサイズが直前のループと同じであることを確認し、送信中でないことの担保を取る。

  • 送達確認ファイルの有無確認

  • whileループで暫く送達確認が連携されているかどうかを確認する。

  • 送達確認ファイルの個数確認

  • 送達確認ファイルの個数確認。0個だとwhileループ継続。1個だとOKのような。2個以上はNG。

  • 送達確認ファイルのサイズの固定化確認

  • 送達確認ファイルのサイズが直前のループと同じであることを確認し、送信中でないことの担保を取る。

  • 退避先での上書きNG確認

  • 退避先をlsするなどしてファイルが上書きされないことを確認する。

  • 退避先へとファイルをmoveする

  • 退避先へ連携ファイル・エンドファイルをmove

  • 受信先からファイルが削除されているかどうかを確認する

  • ファイルの有無確認。moveされて無い想定のため無ければOK

送信時

方式別

FTP

SFTP

Tips: SCPとSFTPの違い

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?