■ftp転送スクリプト for linux
以前にtelnetmailを作ってあったが、そのftp版。
telnet版も修正しないと。。。
そもそも平文通信なので、需要はないはずですが、「出来ますよ」というだけのお話。
■debianで「ftpd」を入れた場合のデフォルトでは、以下が必要となるように書いてます。
$ mkdir ~/logs
■ftpサーバはlinux/Solaris/Windowsを問わない。
ftpクライアントはbashが動けば少しの修正でWindowsでも動作する。
■転送先が「~/logs」以外であれば、ソース見て書き換えて下さい。
Windows(DOS)版はみんな知ってると思うのであえて書かない。
■モノは以下から。
https://labunix@github.com/labunix/telnetmail.git
■パスワードが平文で保存されるので、最低限、以下のように。
$ chmod 500 ftp_transport.sh
■以下のようにscpを使う方がはるかにシンプル。
WindowsでもGowを使えば、HOMEパスを設定していなくても、以下のようにフルパス指定すれば出来ます。
$ scp -P 22 -r * toor@remote-host:/home/toor/logs
■FLAGが役に立っていない気がするので、またそのうち。。。
set -e
FDATE=`date '+%Y/%m/%d %H:%M'`
RHOST=`hostname -s`
RPORT=21
RUSER=anonymouse
RPASS=`whoami`@`hostname -f`
echo $FDATE | tee -a $0.log
(sleep 1; echo "open ${RHOST} ${RPORT}";
sleep 1; echo "user ${RUSER} ${RPASS}";
sleep 1; echo "prompt"
sleep 1; echo "bin"
sleep 1; echo "cd logs"
sleep 1; echo "mput *"
sleep 1; echo "bye"
sleep 1; echo "quit"
sleep 1; echo; ) | /usr/bin/ftp -n -v | tee -a $0.log
FLAG=$?
unset FDATE
unset RHOST
unset RPORT
unset RUSER
unset RPASS
unset PATH
if [ "$FLAG" -ne 0 ];then
echo "Error, Please Check $0.log"
else
echo "Success!"
fi
unset FLAG
exit 0