linux 시스템 셸 스크립트는 3개월 전의 모든 폴더와 파일을 정시에 삭제합니다

1328 단어
서버 디스크의 공간이 지속적으로 증가하지 않도록 하기 위해서는 디스크에 있는 오래된 그림 파일을 정기적으로 정리해야 한다. 구체적인 절차는 두 단계로 나뉜다.
1. 셸 스크립트를 만듭니다.
#!/bin/bash
echo "========The script excute begin========"
baseFolder="/apps/tomcat8080/apache-tomcat-8.0.45/webapps/abnormalImg/"
year=$(date +%Y)
month=`date +%m`
monthStr=${month:0:1}
if [ $monthStr -eq "0"  ];then
 month1=${month#*0}
else
 month1=$month
fi
month2=`expr $month1 - 2`
cd $baseFolder
for dir in $(ls $baseFolder)
do
 if [ -d $dir ];then
  if [ $dir != $year ];then
   echo "The folder "$dir" will be removed"
   rm -rf $dir
  else folder=$baseFolder$year"/"
  fi
 fi
done
cd $folder
for dir1 in $(ls $folder)
do
 if [ -d $dir1 ];then
  if [ $dir1 -lt $month2 ];then
   echo "The folder "$dir1" will be removed"
   rm -rf $dir1
  fi
 fi
done
echo "========The script excute end========"

위의 이 스크립트의 대략적인 뜻은 다음과 같다. 그 해의 Year, 그 달의 월month를 얻기;그리고 그림 폴더의 모든 디렉터리를 훑어보고 그 달 3개월 전보다 작은지 판단하고 rm-rf로 직접 삭제하고 그렇지 않으면 보류한다.
2、crontab 정시 작업 만들기:
crontab-e를 입력하여 시간 작업 생성 모드에 들어가서 다음 시간 작업을 작성합니다. 매일 아침 8:10에 지정한 디렉터리 아래의 지정을 실행한다는 뜻입니다.sh 스크립트 파일(첫 번째 단계에서 생성된 시간제 삭제 파일의 스크립트 파일 test delete.sh):
10 8 * * * /apps/tomcat8080/apache-tomcat-8.0.45/webapps/test_delete.sh;

좋은 웹페이지 즐겨찾기