ftp自動転送スクリプト for linux

■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が役に立っていない気がするので、またそのうち。。。

#!/bin/bash
# Last Update : 2012/04/20
# Author      : labunix
# Description : Please Check and set variable. 
#               RHOST,RPORT,RUSER,RPASS
#               
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