Linux 유 니 버 설 자동 청소 로그 스 크 립 트
1. 자동 배치 시스템 을 만 들 때 간단 한 스 크 립 트 입 니 다. 모든 디 렉 터 리 의 로 그 를 정리 하 는 것 이 주요 기능 입 니 다.
2. 주어진 로그 디 렉 터 리 에 따라 삭제 시간 을 crontab 와 결합 하여 로 그 를 정리 하고 정리 가 완료 되면/var/log/deltelog/월 별 청소 로 그 를 생 성 합 니 다.
3. 확장, 스 크 립 트 는 mtime (마지막 수정 시간) 로 삭제 되 기 때문에 만 료 된 백업 을 삭제 하 는 등 파일 이름 의 제한 을 받 지 않 습 니 다.
셸 팁
find – type f – print 시 줄 바 꿈 이나 빈 칸 에 따라 찾 은 파일 을 출력 합 니 다. sh 에 따라 반응 이 다 릅 니 다. xargs 와 결합 하여 변경 작업 을 삭제 하지 않 으 면 영향 을 줄 수 있 습 니 다.
그래서 추가 – print 0 은 null 로 경계 기호 로 해 야 결혼 xargs – o 로 입력 을 포맷 할 수 있 습 니 다.
find 를 사용 할 때 최소 결과 집합 원칙 에 따라 find 해석 식 은 왼쪽 에서 오른쪽으로 가장 왼쪽 에 있 는 필터 기호 가 최대 데 이 터 를 걸 러 낼 수 있 도록 합 니 다.
당신 은 당신 의 필요 에 따라 crontab 에 추가 할 수 있 습 니 다.
셸 스 크 립 트
#!/bin/sh
###########################
#delete log blog.duplicatedcode.com
# in_day_num: like 1 2 is delete 2day ago logs
# in_log_path like tomcat log home
###########################
in_log_path=${1}
in_day_num=${2}
tmp_delete_log=/var/log/deletelog/"`date +%Y%m`.log"
deleteLog()
{
inner_num=${1}
#find log
echo "[`date`] >> start delete logs---" >> $tmp_delete_log
find ${in_log_path} -type f -mtime ${inner_num} -print0 | xargs -0 rm -rf
echo "[`date`] >> end delete logs---" >> $tmp_delete_log
}
init()
{
mkdir -p /var/log/deletelog/
}
main()
{
init
if [ -z ${in_log_path} ];then
echo "[`date`] >> error log_path not init---" >> $tmp_delete_log
return
fi
inner_day_num=+7
if [[ -n ${in_day_num} ]] && [[ ${in_day_num} -ge 1 ]] ; then
${inner_day_num}=${in_day_num}
fi
deleteLog ${inner_day_num}
}
main
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.