Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1758703
  • 博文数量: 150
  • 博客积分: 660
  • 博客等级: 上士
  • 技术积分: 2480
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-08 11:39
文章分类

全部博文(150)

文章存档

2019年(4)

2018年(36)

2017年(53)

2016年(7)

2015年(3)

2014年(3)

2013年(27)

2012年(2)

2011年(1)

2006年(1)

2005年(13)

分类: 系统运维

2013-08-22 16:02:41

目的:帮别人写的一个自动ftp脚本,涵盖md5校验、上传、备份三个功能

#!/bin/sh
 
HOST="b.2222.org"  #上传的主机
USER=gsftp           #用户
PASSWORD=slslsl1111   #密码,这三项均可修改
cd /gsftp
#获取md5文件信息,并判断是否存在,不存在则退出脚本
UPLOAD1=`cat *.md5`
if [ $? -eq 0 ]; then
 
        echo "MD5 file exist,  content:$UPLOAD1"
else
        echo "MD5 file not exist"
        exit
fi
#获取zip文件的md5码,预备和上传过来的md5比较;如果zip文件不存在则退出脚本
UPLOAD2=`/usr/bin/md5sum *.zip | awk '{print $1}'`
if [ $? -eq 0 ]; then
 
        echo "zip file exist,  md5    :$UPLOAD2"
else
        echo "zip file not exist"
        exit
fi
 
#定义uptoftp函数,负责上传到服务器
function uptoftp() {
 
#上传部分
lftp -u ${USER},${PASSWORD} sftp://${HOST} <
#cd ${DEST_DIR}
#put ${TARGET}
put $file1 $file2
bye
EOF
#备份文件
if [ $? -eq 0 ]; then
        echo "done"
        mv * /opt/gsftpbak/  && echo "backup to /opt/gsftpbak"
else
        echo " Can't upload to $HOST,Please check $HOST ."
fi
}
#获取上传文件名称
file1=`/bin/ls -l /gsftp/*.md5| awk '{print $9}'`
file2=`/bin/ls -l  /gsftp/*.zip| awk '{print $9}'`
#比较md5,如一致则上传,不一致也上传,在日志增加错误信息
if [ "$UPLOAD1" =  "$UPLOAD2" ]; then
 
        echo "Starting to sftp  to ${HOST}"
        uptoftp
 
 
else
        echo "MD5 error ! Please check file. But still upload it."
        uptoftp  #如果以后需要修改为md5一致再上传的话,删除本行即可
fi
阅读(2445) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~