Linux 에 서 는 Shell 을 통 해 로그 저장
1. 로그 가 져 오기
DNS 로 그 는 보통/var/named/data 에 저장 되 며, 디 렉 터 리 에 있 는 파일 을 임시 디 렉 터 리 에 백업 합 니 다. 이 디 렉 터 리 는 로그 압축 과 업 로드 를 합 니 다.
#!/bin/bash
#
path="/var/named"
#
time=`date +%Y%m%d`;
mkdir ${path}/${time}-"log"
\cp -r ${path}/data/* ${path}/${time}-"log"/
2. 로그 압축
임시 디 렉 터 리 의 로 그 를 압축 하고 압축 한 후 임시 디 렉 터 리 파일 을 삭제 합 니 다.
Linux 에서 압축 을 하려 면 DNS 서버 에 'zip' 명령 을 설치 해 야 합 니 다. 그 조작 명령 은 다음 과 같 습 니 다 (CentOS 7 을 예 로 들 면).
# yum install zip
설치 가 완료 되면 'zip - help' 명령 을 통 해 설치 성공 여 부 를 확인 할 수 있 으 며, 설치 에 성공 하면 zip 압축 명령 의 도움말 정 보 를 볼 수 있 습 니 다.
설치 완료 후 임시 디 렉 터 리 를 zip 압축 합 니 다.
zip -r ${time}-"log.zip" ${path}/${time}-"log"/
#
rm -rf ${path}/${time}-"log"/
3. 압축 파일 업로드
zip 압축 파일 을 FTP 를 통 해 FTP 서버 에 업로드 하여 로그 백업 을 합 니 다. 이 때 Shell 스 크 립 트 는 FTP 명령 을 호출 하고 DNS 서버 에 ftp 를 설치 해 야 합 니 다. 작업 명령 은 다음 과 같 습 니 다 (CentOS 7 의 경우).
# yum install ftp
설치 가 완료 되면 "ftp?"명령 을 통 해 설치 가 성 공 했 는 지 확인 할 수 있 으 며, 설치 가 성공 하면 FTP 명령 실행 에 들 어 갑 니 다.
파일 을 업로드 하고 FTP 에 당일 날짜 (예: 연월일) 의 디 렉 터 리 파일 을 만 듭 니 다. 디 렉 터 리 파일 이 존재 하면 디 렉 터 리 를 새로 만 들 필요 가 없습니다.
#
ftp -n <
4. 로 컬 저장
zip 압축 파일 을/var/named/log 디 렉 터 리 에 저장 하고 이 디 렉 터 리 에 있 는 파일 의 개수 가 15 개 를 초과 하 는 지 판단 하 며 15 개 를 초과 하면 15 일 이상 의 로그 기록 파일 을 삭제 합 니 다.
#
mv ${time}-"log.zip" ${path}/log/
# LOG , 15
cd ${path}/log/
FileNum=$(ls -l | grep ^- | wc -l)
ReservedNum=15
while(( ${FileNum} > ${ReservedNum} ))
do
# ,*.*
OldFile=$(ls -rt *.* | head -1)
rm -f ${path}/log/${OldFile}
let "FileNum--"
done
5. 로그 비우 기
로그 에 기 록 된 모든 파일 을 삭제 하고 로그 파일 을 새로 만 들 며 DNS 서 비 스 를 통 해 로 그 를 계속 기록 할 수 있 는 권한 을 부여 합 니 다.
#
rm -rf ${path}/data/query/*
touch ${path}/data/query/ .log
#
chown -R named ${path}/data/
chgrp -R named ${path}/data/
6. 정시 퀘 스 트
리 눅 스 의 정시 작업 을 통 해 셸 스 크 립 트 를 정기 적 으로 실행 할 수 있 습 니 다. 로 그 는 매일 정시 (매일 저녁 23.59) 에 백업 을 저장 하고 정시 작업 을/etc/crontab 파일 에 기록 할 수 있 습 니 다. 작업 명령 은 다음 과 같 습 니 다.
# vi /etc/crontab
59 23 * * * root /bin/bash /file.sh
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
바이너리 파일cat 또는tail, 터미널 디코딩 시 처리 방법cat으로 바이너리 파일을 보려고 할 때 코드가 엉망이 되어 식은땀이 났다. 웹에서 스크롤된 정보의 처리 방법과alias의 설정을 요약합니다. reset 명령을 사용하여 터미널을 재설정합니다.이렇게 하면 고치지 못하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.