shell脚本中 需要判断FTP上传文件是否上传成功,就需要shell进行交互来进行验证。有2种方案可以解决
1. 通过expect进行交互,需要linux下安装expect。实例网上自行搜索,后面上传一附件(ftp.sh)自行查看(代码好像来源于chinaunix.net,具体忘记了)。
2. shell脚本获取ftp上传后的日志,然根据日志判断是否存在上传,详细讲这点
a.
# ftp执行返回信息输出到文件中,然后那获取文件中信息判断
#!/bin/bash
#$1 host $2 user $3 password $4 local file $5 remote file
#法1
ftp -in $1 1>log.txt <<!!
user $2 $3
bin
prompt
put $4 $5
dir $5
close
bye
!!
#法2
echo "open $1
user $2 $3
bin
prompt
put $4 $5
dir $5
close
bye"|1>log.txt ftp -in
# 然后分析log.txt 分析文件或者 文件大小对比均行
b. 获取log.txt文件FTP上传文件大小
#$filename ftp服务器名称
RemoteFileSize=`grep $filename log.txt | awk '{print $5}'`
c. 判断本地文件大小
#$files 本地文件路径
LocalFileSize=`stat $files | awk '/Size/ {print $2}'`
d. 判断RemoteFileSize与LocalFileSize是否一致
分享到:
相关推荐
备份文件到指定FTP主机目录中,用户AIX服务器或UNIX服务器
实现批量上传FTP服务器备份功能,并支持压缩,可配置备份频率
主要介绍了CentOS中使用Shell脚本实现每天自动备份网站文件和数据库并上传到FTP中,本文脚本比较实用,其它Linux系统也可参考,需要的朋友可以参考下
(UNIX、Linux)MySql数据库全量备份和增量备份处理脚本,以及从ftp自动拷贝备份文件(完整操作,附带shell脚本)
这是一个十分好用的Linux脚本,适合对管理MySQL数据库的网络管理员使用,可以实现自动异地备份数据库数据。
因为工作需要,每天备份机房上的数据到本地,以前一直是FTP登录,然后下载到本地机器.现在则希望,利用本地的centos机器,自动备份到本地. 解决方法如下: 1.下载远程电信机房中机器上已打包好的数据.这个不难,一条语句...
自己编写的一个脚本,供大家用来学习和备份。采用zip压缩,个人感觉比tar好些,因为tar不...备份保留本地最新3份备份,并且保留FTP最新7份,顺便鄙视下网上很多备份脚本都是复制粘贴照抄照搬,用都用不了还胡乱发。。。
以前公司用的一个网上找的MySQL自动备份到FTP的Shell脚本,一直用着不错。但是问题就是随着备份文件的越来越多,不得不定期清理FTP上的老备份文件,十分的不便。 实际上MySQL备份无需保留太长时间的,如果能有自动...
ftp命令把远程计算机上的文件传输到本地计算机时,需要和用户交互。怎样使交互过程自动化呢
在linux环境下,使用shell和expect为交换机做配置文件的批量备份。 sw.sh和ftp.exp是备份主程序文件。 mk_ip_seq.sh是生成ip.txt交换机IP地址表的脚本。
通过SSH连接设备,自动登陆FTP服务器创建相关目录,进入网络设备进行备份操作,导出备份文件到指定FTP目录,大家下载来试用一下呀,给点意见建议嘛
主要介绍了自动化下载并检测ftp文件备份的shell脚本,需要的朋友可以参考下
配套博文mysql自动备份删除旧文件,并且上传到指定ftp,包括所需的环境rpm包和shell脚本
linux下自动备份MySQL数据并上传到FTP上的shell脚本,需要的朋友可以参考下
作为一个代码管理工具,备份操作显得尤为重要,这里采取这样的备份策略:在执行本地备份的同时,让Shell脚本自动上传数据到另一台FTP备份服务器中,这种异地备份策略成本比较小,无需存储,而且安全系统高,想到与双...
1.备份mysql数据库 2.打包备份代码:tar 3.ftp 上传备份服务器 4.计划任务:crontab 30 1 * * * sh /home/backup.sh