- 论坛徽章:
- 0
|
#!/bin/sh
#
host="test@ftp.com"
localfile="/home/ftp/test/ITtest.*.txt"
localdir="/home/ftp/test/"
filename="*.txt"
remotedir="/file"
bakfile="/home/ftp/test/bak/ITtest.`date "+%Y%m%d%H%M%S"`.tgz"
cformat="ITtest.`date "+%Y%m%d%H%M%S"`"
clocalfile="/home/ftp/test/test.*"
#------------------------↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑自定义↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
echo off
echo 'Start change ITtest.txt file name to 14bit time format'
cd $localdir
mv $localfile $cformat
#------------------------↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑改名,并加入时间::::test.20100505103555↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
echo off
echo 'Start Sftp files {{{ test }}} !!!'
sftp -oidentityfile=/home/test/.ssh/ssh_host_rsa_key "$host" <<EOC
binary
put $clocalfile
bye
EOC
echo "Sftp Files to Compuleted";
#-----------------------↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑用对方服务器生成的key进行自动上传↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
#
echo off
echo 'Local files backup to /home/ftp/test/bak'
cd $localdir
if [-s file]
then
exit 1
fi
tar -zcvpf $bakfile $clocalfile
find /home/ftp/test/bak -size 45c|xargs rm -rf
#-----------------------↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑做一个备份的压缩文件确保安全↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
echo off
echo 'Delete original Files!!!'
rm -f $clocalfile------------------↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑删除原来留下的文件↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
bug1: 不管有没有*.txt这个文件,该脚本都不会判断而进行下一步。
bug2: 之前因为不管有没有文件,脚本都要生成一个压缩的备份文件,大小45,所以我才做了一个多余的动作就是生成后再删除这些空的压缩备份文件,觉得脚本执行效率太低。
疑惑1: 不知道怎样才能做到监控脚本执行情况?想写个log,但本人比较菜鸟,知道>>>>>$file,但不知道怎样加判断才能上下脚本执行不出错误呢?
疑惑2:在FTP上传的过程中如何才能判断这个文件确实上传成功了?如果中途网络中断,那么该脚本无法执行,用怎样的方式才能处理这种突发状况呢? |
|