2011-02-11

【シェルスクリプト】Linuxサーバで自動的にFTPダウンロードする方法

Linuxサーバで自動的にFTPを実行するようなシェルスクリプト作ってみた。
簡単な定型処理だけならPerlとかよりシェルスクリプトのほうが手軽でいいよね。

今回のスクリプトの仕様は以下の通り。

◆仕様
・bashのシェルスクリプトで作成する
・何らかのログファイルを毎日ダウンロードする(今回はWebアクセスログ的なもの)
・ログファイル名には日付が入っており、実行する日の前日分のファイルをダウンロードする
・ログファイルをダウンロードしたら、リモートホストのファイルは削除する

というような感じにした。
各変数の説明は以下の通り。

◆変数の説明
・CURRENT_DIR
  実行時のディレクトリ。
・DEST_DIR
  ダウンロードしたファイルを保存するディレクトリ。必要ないなら指定しなくても良い。
・DATE_OF_YESTERDAY
  「YYYY-MM-DD」というフォーマットの「前日分日付」
・REMOTE_HOST
  接続するホスト名。IPアドレスも可能
・REMOTE_USER
  リモートホストのユーザ名
・REMOTE_PASS
  リモートホストのパスワード
・REMOTE_PATH
  リモートホストの対象ファイルが置いてあるディレクトリ。
・REMOTE_FILE_YESTERDAY
  リモートホストの「前日分」のログファイル名

◆使い方
以下のスクリプトをEUCエンコードと改行コード「LF」で保存し、パーミッションは「755」または「705」で保存して、クーロンに実行したい時間を指定して登録すればOK。

Gumroadで販売中(200円) → https://gumroad.com/l/ptKl

以上。

ZenBack

WebMoney ぷちカンパ