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

Apple Mac

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

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

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

これはftpでhoge.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です。

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

 

 

後日談・・・・・・・・

これを設定してから、ターミナルを起動するとYou have new mail.と表示されます。つまり中の人からmailが来るようになってしまってウザイ。
これを回避するには、コマンド部分に「>/dev/null 2>&1」を付け加えればOKです。

sh autodel.sh >/dev/null 2>&1

コメント

  1. […] ロードしてくるはずです。こちら参考にしてください。 […]

タイトルとURLをコピーしました