백업 머 신 백업 파일 처리
그래서 매일 백업 파일 을 정리 해 야 합 니 다.그래서 셸 스 크 립 트 를 써 서 하루 에 한 번 씩 실 행 했 습 니 다.
스 크 립 트 프로그램의 작업 방향 은:
0. 대상 디 렉 터 리 에 있 는 파일 을 읽 습 니 다. 오늘 백업 파일 이 없 으 면 보고 서 를 처리 하지 않 고 인쇄 합 니 다.
1. 대상 디 렉 터 리 의 파일 수 를 읽 고 3 개 보다 적 으 면 처리 하지 않 으 며 보고 서 를 인쇄 합 니 다.3 개 이상 이면, 2 단 계 를 수행한다.
2. 파일 크기 를 비교 하고 3 일 전의 백업 파일 크기 가 2 일 전의 백업 파일 크기 보다 크 면 처리 하지 않 고 보고 서 를 출력 합 니 다.3 일 전의 백업 파일 이 2 일 전의 파일 보다 작 거나 같 으 면 3 일 전의 백업 파일 을 삭제 합 니 다.
3. 디 렉 터 리 아래 파일 의 수 를 읽 고 인쇄 합 니 다.
4. 모든 대상 디 렉 터 리 는 위의 프로그램 을 실행 합 니 다.
#!/bin/bash
path[1]="/home/confluence/"
path[2]="/home/database/mms"
path[3]="/home/database/oa"
path[4]="/home/mms/"
path[5]="/home/svn/jira"
path[6]="/home/svn/jira_attach"
path[7]="/home/svn/jira_mysql"
path[8]="/home/svn/svn"
today=`date +%Y-%m-%d`
date_2day_ago=`date -d -2day +%Y-%m-%d`
date_3day_ago=`date -d -3day +%Y-%m-%d`
echo today is $today
for((i=1;i<=8;i++))
do
echo " " #start_1
function size_compare {
if [ -f ${path[i]}/*$date_3day_ago* ];then #path
echo ${path[i]}/*$date_3day_ago* OK! #path
else
echo ${path[i]}/*$date_3day_ago* not exist! #path
continue
fi
name=`ls ${path[i]}/*$date_3day_ago*` #path
#echo The will delete file name is $name
if [ -f ${path[i]}/*$date_2day_ago* ];then #path
echo ${path[i]}/*$date_2day_ago* OK! #path
else
echo ${path[i]}/*$date_2day_ago* not exist! #path
continue
fi
name1=`ls ${path[i]}/*$date_2day_ago*` #path
#echo it will compare the size with $name1
NAME=`ls -l $name |awk '{print $9}'`
SIZE=`ls -l $name |awk '{print $5}'`
NAME1=`ls -l $name1 |awk '{print $9}'`
SIZE1=`ls -l $name1 |awk '{print $5}'`
echo $NAME size is $SIZE
echo $NAME1 size is $SIZE1
if [ $SIZE -le $SIZE1 ];then
` rm -f $NAME`
echo $NAME Delete Successful!
else
echo sizebad!
fi
}
############ today backup file exist or not!#####################
if [ -f ${path[i]}/*$today* ];then #path
echo today ${path[i]}/*$today* exist! #path
else
echo Today ${path[i]}/*$today* not exist! #path
continue
fi
numbers=`find ${path[i]} -type f |wc -l` #path
if [ $numbers -ge 4 ];then
echo ${path[i]} have $numbers more than 3! #path
size_compare #continue
else
echo ${path[i]} numbers less 4! #warning
fi
done #end_1
echo " "
for ((i=1;i<=8;i++)) #start_2
do
#test=`ll |grep ".sql$" |wc -l`
numbers=`find ${path[i]} -type f |wc -l`
#echo There are $numbers files in the current directory!
echo ${path[i]} have $numbers files
done #end_2
echo " "
echo " "
#ls -l /home/src/ |sed '1d'| awk '{print $5 "\t" $9}' > a.txt
#sed -n '2p' a.txt
#size=`sed -n '2p' a.txt |awk '{print $1}'`
#name=`sed -n '2p' a.txt |awk '{print $2}'`
#echo $name $size
#rm -f a.txt
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Proxmox 백업에서 물리 디스크를 제외하는 방법신세를 질 것입니다. 다음과 같은 구성으로 물리 디스크를 통과한 VM을 만들었습니다. (VMWare에서 말하는 RDM) 그러나 이러한 VM은 스냅샷을 사용할 수 없습니다. 또, 백업하려고 하면 모든 드라이브의 백업이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.