Prayer

在一般中寻求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

通过UNIX SHELL脚本实现FTP自动传输

Posted on 2009-04-10 19:25 Prayer 阅读(742) 评论(0)  编辑 收藏 引用 所属分类: Shell

通过UNIX SHELL脚本实现FTP自动传输

作者:徒步天下(http://hiker2008.blog.51cto.com/

  问题提出:因工作需要,要业务系统要求作完日终后,把数据从主机通过FTP传送到备机。

 
需要分析:
1.每天日终时间不同,所以最好是手工编制脚本,当业务人员日终完成后,手动调用,而不能通过任务调度来实现。
2.每天要传送的数据文件名不同(与日期相关),所以要在脚本中处理文件名。
3.需要业务人员提供的信息越少越好,每天操作,命令多了,出错的机会也多。
具体脚本如下:(在 Sco Open Server 5.0.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.xx.xx.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
echo "close">>ftp.cmd
echo "bye">>ftp.cmd
cd /usr/database
#自动执行ftp
cat $HOME/ftp.cmd|ftp -n
echo "Auto Backup $filename Data Finished!"
 
―――――――――――――――――――

本文出自 “徒步天下我的梦” 博客,请务必保留此出处http://hiker2008.blog.51cto.com/10867/19


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理