링크 ux 로그 스 크 립 트 자동 정리 공유

1928 단어
1. 자동 배치 시스템 을 만 들 때 간단 한 스 크 립 트 입 니 다. 모든 디 렉 터 리 의 로 그 를 정리 하 는 것 이 주요 기능 입 니 다.
2. 주어진 로그 디 렉 터 리 에 따라 삭제 시간 을 crontab 와 결합 하여 로 그 를 정리 하고 정리 가 완료 되면/var/log/deltelog/월 별 청소 로 그 를 생 성 합 니 다.
3. 확장, 스 크 립 트 는 mtime (마지막 수정 시간) 로 삭제 되 기 때문에 만 료 된 백업 을 삭제 하 는 등 파일 이름 의 제한 을 받 지 않 습 니 다.
셸 팁
find ㎡ Ctype f ㎡ Cprint 에서 찾 은 파일 을 줄 이나 빈 칸 에 따라 출력 하 며, sh 에 따라 반응 이 다 릅 니 다. xargs 와 결합 하여 삭제 변경 작업 을 처리 하지 않 으 면 영향 을 줄 수 있 습 니 다.
그래서 'Cprint 0' 을 null 로 경계 기호 로 추가 해 야 결혼 할 수 있 습 니 다. 'xargs' Co' 로 입력 을 포맷 할 수 있 습 니 다.
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

좋은 웹페이지 즐겨찾기