안녕하세요 김다이아입니다.
리눅스의 crontab을 사용하여 아파치 웹 서버에서 30일이 지난 로그 파일을
정기적으로 삭제하는 방법에 대하여 알아보도록 하겠습니다.
먼저, 아파치 웹 서버의 로그 파일이 저장되는 디렉터리를 확인해야 합니다.
보통 아파치의 로그 파일은 /var/log/apache2/ 또는 /var/log/httpd/ 디렉터리에 저장됩니다.
그다음, 해당 디렉터리에서 30일 이상이 지난 로그 파일을 찾고 삭제하는 "find" 명령어를 작성해야 합니다.
실행 파일을 만들기 위해서 먼저 파일 경로를 확인합니다.
작성자는 /home 디렉터리에 파일을 생성합니다.
vi delete_logs.sh |
delete_logs.sh 파일 안의 내용은 아래와 같습니다.
#!/bin/bash # 아파치 로그 파일이 저장된 디렉토리 경로 LOG_DIR="/var/log/apache2/" # 30일 이상이 지난 로그 파일 삭제 find "$LOG_DIR" -type f -name "access.log*" -mtime +30 -exec rm -f {} \; |
delete_logs.sh 파일이 실행될 수 있도록 권한 부여 합니다.
chmod +x delete_logs.sh |
이제 crontab에 스크립트를 추가하여 주기적으로 실행하도록 합니다.
crontab을 편집하기 위해 다음 명령어를 입력합니다
crontab -e |
편집 모드에서 아래의 줄을 추가합니다.
이 예시에서는 매일 자정 24시에 스크립트를 실행하도록 설정합니다.
시간은 시, 분 형태로 지정하며, 숫자와 '*'를 사용하여 실행 주기를 조정할 수 있습니다.
0 24 * * * /hoem/delete_logs.sh |
0 | 분 |
24 | 시간 (24시간 형식) |
* | 월 (모든 달) |
* | 일 (모든 일) |
* | 요일 (0부터 일요일, 1부터 월요일, ..., 6부터 토요일) |
실행할 명령어 | /home/delete_logs.sh 실행 |
매일 자정 24시에 스크립트가 실행되어 30일이 지난 아파치 로그 파일이 삭제됩니다.
이때 주의할 점은 로그 파일이 정기적으로 삭제되므로 중요한 로그를 보관해야 할 경우
해당 스크립트를 사용하기 전에 백업을 수행하는 것이 좋습니다.
작업을 추가한 후, 편집창에서 저장하고 종료합니다.
사용자의 crontab 파일에 저장된 작업을 확인합니다.
이 명령어를 사용하여 현재 설정된 크론탭 작업을 확인할 수 있습니다.
crontab -l |
설정한 크론탭 작업은 자동으로 주기적으로 실행됩니다.
주의할 점은 crontab을 편집할 때 문법 오류가 없도록 확인하고 저장해야 합니다.
또한, 작업에 대한 로그나 출력 결과는 사용자의 홈 디렉터리에 cron.log 파일에 기록되기도 합니다.
오류가 발생하거나 실행 결과를 확인하기 위해 해당 파일을 확인할 수 있습니다.
지금까지 crontab을 이용하여 주기적으로 로그 삭제하는 방법에 대하여 알아봤습니다.
감사합니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
'공부방 > 서버' 카테고리의 다른 글
손 쉽게 nginx 1.24 설치 하는 노하우 공개 (0) | 2023.09.08 |
---|---|
워드프레스 데이터베이스 연결 오류 해결하기: 나만의 해결 방법 (2) | 2023.09.06 |
[해킹] sql injection 해킹 시나리오 (1) | 2023.08.10 |
리눅스 - tomcat ssl 인증서 설치 및 갱신 (1) | 2023.08.10 |
nginx error log : socket() failed (24: Too many open files) (0) | 2023.07.12 |
도커 설치 및 실행 방법 (1) | 2023.07.11 |
windows cmd 창에서 tasklist 명령어 사용 방법 (1) | 2023.05.09 |
windows cmd 창에서 taskkill 명령어 사용 방법 (1) | 2023.05.09 |