执行脚本
####################################################################
#!/bin/bash
dt=`date +%Y%m%d-%T`echo $dt >> /root/update/update.log
echo $dt >> /root/update/update1.log
echo $dt >> /root/update/ClearAndUpdate.log
/usr/bin/rsync -vzrtopg --progress --delete /usr/local/apache-tomcat-7.0.41/webapps/ROOT/public/cpscp /usr/local/apache-tomcat-7.
0.41/webapps/ROOT/update/ >> /root/update/update1.log
#/usr/bin/rsync -vzrtopg --progress --delete /usr/local/apache-tomcat-7.0.41/webapps/ROOT/cpscp /usr/local/apache-tomcat-7.0.41/w
ebapps/ROOT/update/ >> /root/update/update1.log
/root/update/ClearAndUpdate.sh /usr/local/apache-tomcat-7.0.41/webapps/ROOT/update/cpscp >> /root/update/ClearAndUpdate.log
#/usr/bin/rsync -vzrtopg --progress --delete -e 'ssh -p 22' /usr/local/apache-tomcat-7.0.41/webapps/ROOT/cpscp/ 10.242.200.227:
/usr/local/apache2/htdocs/web1 >> /root/update/update.log
#/usr/bin/rsync -vzrtopg --progress --delete -e 'ssh -p 22' /usr/local/apache-tomcat-7.0.41/webapps/ROOT/userfiles/ 10.242.200.
227:/usr/local/apache2/htdocs/userfiles >> /root/update/update.log
echo $dt >> /root/update/update.log
#####################################################################################
调用脚本
#####################################################################################
#!/bin/bash
##################
. /etc/profile
. ~/.bash_profile
##################
i=0
k=0
l=0
echo "`date +%Y%m%d%H%M`" > /tmp/size0.log
# 定义一个方法
foreachd(){
# 遍历参数1
for file in $1/*
do
# 如果是文件就打印处理,然后继续遍历,递归调用
if [ -d $file ]
then
# echo $file
foreachd $file
else
filesize=`ls -l $file | awk '{print $5}' `
if [ "$filesize" = "0" ];then
echo "$file size is 0" >> /tmp/size0.log
a[$k]="$file"
k=`expr $k + 1`
rm -f $file
fi
i=`expr $i + 1`
echo "$file size is $filesize"
fi
done
}
weberror(){
if [ "${#a[*]}" -eq "0" ];then
echo "所有文件size均大于0"
# exit 0
else
echo "总共检测 ${#a[*]}个size大小为0文件"
for ((j=0; j<=`expr "${#a[*]}" - 1`;j++)) ;do
# echo "${a[0]}"
if [ -f ${a[$j]} ];then
echo "`date +%Y%m%d%H%M%S` ${a[$j]} 删除失败"
b[$l]="`date +%Y%m%d%H%M%S` ${a[$j]} 删除失败"
l=`expr $l + 1`
else
echo "`date +%Y%m%d%H%M%S` ${a[$j]} 删除成功"
fi
# echo "`date +%Y%m%d%H%M%S` ${a[$j]}"
# echo "`date +%Y%m%d%H%M$S` ${a[$j]}" | mail -s "`date +%Y%m%d%H%M$S` ${a[$j]}" $notice_mail
done
# time2=`date +%Y%m%d%H%M%S`
# echo "$time1 $time2"
# exit 2
fi
}
update(){
if [ "${#b[*]}" -eq "0" ];then
echo "所有size大小为0文件均已删除,`date +%Y%m%d%H%M`开始更新。" >> /root/update/update.log
/usr/bin/rsync -vzrtopg --progress --delete -e 'ssh -p 22' /usr/local/apache-tomcat-7.0.41/webapps/ROOT/update/cp
scp/ 10.242.200.227:/usr/local/apache2/htdocs/web1 >> /root/update/update.log
/usr/bin/rsync -vzrtopg --progress --delete -e 'ssh -p 22' /usr/local/apache-tomcat-7.0.41/webapps/ROOT/userfiles
/ 10.242.200.227:/usr/local/apache2/htdocs/img/userfiles >> /root/update/update.log
else
echo "总共有${#b[*]}个size大小为0文件没有删除,停止更新。" >> /root/update/update.log
fi
}
#echo "总共有$i 个页面,其中size 为0的页面有`expr `more /tmp/size0 | wc -l` - 1`个"
# 执行,如果有参数就遍历指定的目录,否则遍历当前目录
#if ($0 > 0)
if [[ ! -z $1 ]];then
foreachd "$1"
weberror
update
# echo $#
# echo 1
echo "`date +%Y%m%d%H%M%S`总共有$i 个页面,其中size 为0的页面有${#a[*]}个,删除了`expr ${#a[*]} - ${#b[*]}`个size 为0的页面。"
else
echo "没有指定目录"
exit
foreachd `/bin/pwd`
weberror
update
# pwd=`pwd`
# echo 2
# echo $#
# foreachd "./"
echo "`date +%Y%m%d%H%M%S`总共有$i 个页面,其中size 为0的页面有${#a[*]}个,删除了`expr ${#a[*]} - ${#b[*]}`个size 为0的页面。"
fi
#####################################################################################