自动化下载并检测ftp文件备份的shell脚本
实现代码:
#!/bin/bash #ftime0=$(ll/root/hbshell/down.txt|awk'{print$7}') #ftime1=$(ll/root/hbshell/down.txt|awk'{print$7}') touch/root/hbshell/down.txt while: do if[[/root/hbshell/down.txt-nt/root/hbshell/down_cp.txt]] then user=root passwd=19871022 host=192.168.1.202 dir=/tmp/down/$(date+%Y%m%d)/$(date+%H%M) mkdir-p$dir cd$dir #cat/root/hbshell/down.txt|sed-e's#^*/##'-e's#*##'-e's#^[^a-zA-Z]*##'>/root/hbshell/zdown.txt cat/root/hbshell/down.txt|sed's#^[^a-zA-Z]*##'>/root/hbshell/zdown.txt declare-agg=($(cat/root/hbshell/zdown.txt)) declare-ii for((i=0;i<${#gg[@]};i=$i+1)) do echo${gg[$i]}|grep-q"/" ifecho$?|grep-q0 then tmpdir=$(echo${gg[$i]}|sed's#\(.*/\)\(.*$\)#\1#') mkdir-p./$tmpdir fi done /usr/bin/ftp-i-in<<! open$host user$user$passwd bin mget$(echo${gg[@]}) bye ! declare-ij declare-inum num=0 for((j=0;j<${#gg[@]};j=$j+1)) do if[[-f$(echo${gg[$j]})]] then ls-l$(echo${gg[$j]}) num=$num+1 else echo-e"\033[31mFile${gg[$j]}isnotdown!!\033[0m" fi done echo"ThatFilesalldowntotalis$num" \cp/root/hbshell/down.txt/root/hbshell/down_cp.txt fi done
以上就是linux下自动化下载并检测ftp文件备份的实现代码,需要的朋友可以参考一下,如果有服务器权限,个人建议使用rsync