#!/bin/bash
##TestBackup.sh
export pwdd
function direct()
{
for file in `ls $1`
do
local path="$1/$file"
if [ -d $path ];then
wn=`ls $path |wc -l`
if [ $wn = 0 ];then
echo "$1/$file $date failed">>/home/Administrator/BackupLog
else
direct $path
fi
else
num=` ls $1 |grep $date |wc -l `
if [ $1 != $base ];then
if [ $num = 0 ];then
echo "$1 $date failed">>/home/Administrator/BackupLog
fi
fi
fi
done
}
export pwdd
date=`date +%Y%m%d`
base=/cygdrive/d
echo "Please wait for a moment...."
direct $base
cat /home/Administrator/BackupLog |sort|uniq|tee TodayLog.txt
rm -rf /home/Administrator/BackupLog
echo "TestBackup OK!"
PS:备份存放于windows服务器上。
1.此脚本为检查备份目录中有无当天的备份:
(1)若没有当天备份,则返回备份目录+当天日期
(2)若有当天备份,则无显示
2.每次脚本执行完毕后会在屏幕上显示备份失败的目录信息,但为避免显示结果过多在屏幕上无法查看,还会在脚本所在目录生成TodayLog.txt,方便我们查询相关信息。
ps:由于linux与windows的换行符不同,会导致linux下生成的txt在windows下直接打开不出现换行,我们可以用改成word后打开或用Notepad打开。
3.脚本默认检查D盘下的备份,若备份存于F盘,只需更改脚本中的参数即可。
默认base=/cygdrive/d
若为F盘-->base=/cygdrive/f