通过UNIX SHELL脚本实现FTP自动传输 问题提出:因工作需要,要业务系统要求作完日终后,把数据从主机通过FTP 传送到备机
需要分析: 1
每天日终时间不同,所以最好是手工编制脚本,当业务人员日终完成后,手动调用,而不能通过任务调度来实现
每天要传送的数据文件名不同(与日期相关),所以要在脚本中处理文件名
需要业务人员提供的信息越少越好,每天操作,命令多了,出错的机会也多
具体脚本如下:(在 Sco Open Server 5
x 上测试通过)
希望对大家有所帮助
―――――――――――――――――― #
/bin/sh #取得年月日 YYYY=`date "+%Y"` MM=`date "+%m"` DD=`date "+%d"` filename="$YYYY$MM$DD" #显示年月日 echo "Input Backup Date: ($filename) \c" #读取输入,如果是当天日期,可直接回车 read filename if test -n filename then echo "Backup Date: $filename" else filename="$YYYY$MM$DD" echo "Backup Date: $filename" fi #取得日期后,写一个 FTP 脚本 #备机地址 echo "open 1x
x0"> ftp
cmd #备机用户,密码 echo "user loginname password">>ftp
cmd echo "bin">>ftp
cmd echo "hash">>ftp
cmd #备机目录 echo "cd /usr/database">>ftp
cmd #文件名为 data20070310 echo "put data$filename">>ftp
cmd ech