MacOSXのターミナルを使ってftpコマンドで一括処理

サーバーにゴミがたまるので、それを一括で処理しちゃおうというもくろみです。
一括処理したものをcronで定期実行しちゃいます。

まずは、ftp処理するためのバッチコマンドを作ります。適当にmi(エディタ)とか作ればいいですが、改行コードをLF(UNIX)にするのを忘れないようにしましょう。


#!/bin/csh -f
#
ftp -n hoge.com << _EOD
user hoge password
prompt
cd /directory
mdelete *
bye
_EOD

これはftphoge.com にアクセスして、promptコマンド(後述)を打ち、/directoryに移動して、その中のものを全消去(mdelete *)するというサンプルです。
promptは、対話モードのOn/Offを切り替えるもので、これがないといちいちyes or no?とか聞いてくるので、自動処理の意味がないです。
これを 適当なファイル名で保存します。拡張子は .sh です。autodel.shとでもしておきます。

で、試しにターミナル.appでこれを流してみましょう。
こんな感じです。

xxxxx:$ sh autodel.sh

うまく流れましたか?

うまく処理できたらこれを定期的に実行するようにしましょう。cronを使います。crontabコマンドで打ってもいいんですが、使いやすいアプリがあるので、それを使うことにします。

cronnix

日本語化されているので、すぐに使えると思います。

詳しい使い方は、上で紹介されているので、ご覧になってください。
http://wakabamac.blog95.fc2.com/blog-entry-663.html

コマンドの所には、さっきターミナルで打った



sh autodel.sh



を入れればOKです。

自動化こそパソコンを使う醍醐味ですよね〜。