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
以上。