把远程服务器上的指定目录下的所有文件,增量备份到本地服务器上
#!/bin/sh
ip=远程IP
dir=远程需要备份的路径
curTime=`date +%Y%m%d`
echo $curTime
BN=./backupfile/bkfile_number.txt #用来保存最后一次备份的日期
num=`awk 'NR==1{print $0}' $BN`
t2=`date -d "$num" +%Y%m%d`
days=`expr $t2 - $curTime`
查看远程服务器上的最近有变更的目录及文件
folderList=`ssh 远程IP find 远程需要备份的路径 -type d -ctime $days`
fileList=`ssh 远程IP find 远程需要备份的路径 -type f -ctime $days`
在本地创建新添加的目录,并复制远程服务器上的文件到本地
for folder in $folderList;do #循环判断folder是否存在 不存在就创建
if [ ! -d $folder ];then
mkdir -p $folder
fi;
done;
for file in $fileList;do #循环判断文件是否存在 不存在就从机器1上考过来
if [ ! -f $file ];then
scp root@$ip:$file $file
fi;
done;
echo $curTime > $BN