Chinaunix首页 | 论坛 | 博客
  • 博客访问: 509625
  • 博文数量: 112
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 662
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-20 07:22
个人简介

一步一个脚印

文章分类

全部博文(112)

文章存档

2019年(2)

2017年(2)

2016年(2)

2015年(6)

2014年(35)

2013年(65)

分类: 系统运维

2013-10-30 23:42:36

目的:帮别人写的一个自动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
阅读(2210) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~