- 论坛徽章:
- 0
|
本帖最后由 eboy240 于 2010-12-09 12:37 编辑
以下代码是个运行正常,功能包括自动将文件按日期改名、移动、压缩、备份、写入log、发送通知邮件。
现在主要的问题在于因为是定时自动运行,一次只能处理一个ftp上传的文件,如果相同的文件名+后缀不同日期出现多个文件,比如
abc.201012091228/abc.201012101229这两个文件同时存在,则该脚本无法运行,文件一直堵塞下去。请问各位高人怎样改写才能让该脚本多
次批处理多个文件呢??谢谢指导。- #!/bin/bash
- Logfile="/home/Log/abc.log"
- filedate=`date "+%Y/%m/%d-%H:%M"`
- tip1="Find abc File and move file to ffp server at"
- tip2="abc File Does Not Exist"
- file1="/home/abb/abc.*"
- localfile="/home/ftp/abb/suppabb/abc.*.txt"
- cformat="/home/ftp/abb/suppabb/abc.`date "+%Y%m%d"`.txt"
- zipfile="/home/backup/abb/abc.`date "+%Y%m%d%H%M%S"`.tgz"
- filename="abc"
- filepath="/home/ftp/NH/suppabb/"
- if test -e $file1
- then
- cd /home/abb
- tar -zcvPf $zipfile $file1
- echo "*****Backup File to $zipfile">>$Logfile
- for i in $(find -type f -iname "$filename.201*");do mv -i $i ${i%%??????}.txt;done <<<<查找abc.201为开头的文件
- ,并移动,我想MV命令只能一次处理一个文件,有更好的方法吗?
- mv $file1 $cformat
- echo "*****$tip1 ::: $filedate">>$Logfile
- echo "----------------------------------------------------">>$Logfile
- else
- echo "$tip2 ---Check time ::::::$filedate">>$Logfile
- echo "---------------------------------------">>$Logfile
- echo "$tip2"|mutt -s "Tips : $tip2 ---Check time ::::::$filedate" xxx@126.com
- fi
复制代码 |
|