파일 정기 자동 백업 스 크 립 트
#!/bin/bash
#written by dqznn88
#maill: [email protected]
#date: 2014-09-23
#
DSTDIR="/backup/tomcat_$(date +%Y%m%d)/"
POSTFIX="xml"
md5_sum_dir="/backup/tomcat/sum/"
md5_in="${DIR}"
md5_new_sum_file="${md5_sum_dir}tomcat_md5_sum.$(date +%Y%m%d)"
md5_old_sum_file="${md5_sum_dir}tomcat_md5_sum_old"
#############################################################
# backup directory
# for DIRNAME in $(find $DIR -type d )
# do
# #echo "dirctory name is $DIRNAME"
# FULLDIR=${DIRNAME/$DIR/$DSTDIR}
# if [ ! -d $FULLDIR ];then
# mkdir -p $FULLDIR
# fi
# done
# echo "backup $DIR directory specified $POSTFIX"
##################################################################
if [ ! -d $DSTDIR ];then
cp -a $DIR $DSTDIR && echo "$DIR directory to $DSTDIR backup successfully"
################################################################
if [ ! -d ${md5_sum_dir} ];then
mkdir -p ${md5_sum_dir}
fi
find ${md5_in} | xargs -I {} md5sum {} >> $md5_new_sum_file 2>/dev/null && echo "directory md5 sum "
new_sum_ok=`md5sum -c ${md5_new_sum_file} 2>/dev/null | awk '$2~"OK"' |wc -l`
old_sum_ok=`md5sum -c ${md5_old_sum_file} 2>/dev/null | awk '$2~"OK"' |wc -l`
if [ ${old_sum_ok} == ${new_sum_ok} ];then
echo "because today and yesterday content is the same,delete yesterday centent!"
cp $md5_new_sum_file $md5_old_sum_file -r
rm -fr ${md5_in_yer} && rm -fr ${md5_new_sum_file} && echo "delete old file "
fi
##################################################################
#the first execute this script,create 'md5_old_sum_file' file,afterwards,everytime change $DSTDIR directory backup 'sum_file' file.
cp $md5_new_sum_file $md5_old_sum_file -r &>/dev/null
다음은 변수 설명 입 니 다.
md5_sum_dir MD5 검사 값 이 저 장 된 디 렉 터 리
md5_new_sum_file 새로 생 성 된 각 백업 파일 MD5 값 파일 저장
md5_old_sum_file 이전에 백업 한 MD5 값 파일
new_sum_ok 방금 생 성 된 MD5 파일 은 백업 대상 파일 을 검사 하고 몇 개 는 ok 을 검사 하 는 것 입 니 다.
old_sum_ok 어제 생 성 된 MD5 파일 은 백업 한 대상 파일 을 검사 하 는 동시에 ok 을 검사 하 는 것 이 몇 개 기록 되 어 있 습 니 다. 대상 파일 이 바 뀌 었 다 면 검사 결 과 는 ok 이 아 닐 것 입 니 다. 또한 새로 생 성 되 고 삭 제 된 파일 은 ok 의 개수 가 다 를 수 있 습 니 다.
if [ ${old_sum_ok} == ${new_sum_ok} ] 비 교 를 통 해 파일 이 바 뀌 었 는 지, 파일 을 새로 추가 하고 삭 제 했 는 지 확인 합 니 다.
여기 왜 두 개가 있 는 지 설명해 주세요.
cp $md5_new_sum_file $md5_old_sum_file -r 스 크 립 트 를 실행 할 때마다 MD5 old sum file 을 새로 고 칩 니 다. 파일 의 정 보 는 다음 검증 을 유지 할 때 반드시 어제 의 검증 파일 입 니 다. 사실 위의 cp 를 실 행 했 습 니 다. 아래 의 cp 는 실행 되 지 않 을 것 입 니 다.
더 좋 은 생각 이 있 으 면 메 시 지 를 남 겨 주세요. 감사합니다!!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.