리눅스 crontab 이용하여 주기적으로 로그 삭제 crontab backup
by 김다이아 ㆍ 2022. 10. 13. 17:47
반응형
안녕하세요 김다이아에요
오늘은 crontab에서 알아보도록 할게요
crontab 이란?
지정 시간이 되면 반복적으로 실행하도록 설정하는 예약 스케줄 명령어
명령어 | 설명 |
crontab -l | 예약된 작업 리스트 보기 |
crontab -e | 예약된 작업 수정 |
crontab -r | 예약된 작업 삭제 |
crontab -u [사용자] | root 관리자는 해당 사용자 crontab 파일을 보거나 삭제 편집 가능 |
crontab 파일 형식
파일 형식은 여섯 항목으로 구성되어 있다.
앞에서부터 다섯 항목은 시간과 날짜를 나타내는 숫자이고 마지막 항목은 반복적으로 수행할 명령이다.
* | * | * | * | * | 작업 내용 |
분(0-59) | 시간(0-23) | 일(1-31) | 월(1-12) | 요일(0-7) |
|
명령어 사용 제한하기
crontab 명령은 /etc/cron.allow 와 /etc/cron.deny 파일로 사용 권한을 제한할 수 있다. /etc/cron.allow 파일이 있으면 이 파일에 지정된 사용자만 crontab 명령을 사용할 수 있다. /etc/cron.deny 파일이 있으면 파일에 사용자 계정이 없어야 crontab을 사용할 수 있다. /etc/cron.allow 와 /etc/cron.deny 파일이 모두 없으면 시스템 설정에 따라 시스템 관리자만 crontab 명령을 사용할 수도 있고 모든 사용자가 사용할 수도 있다. |
로그 삭제 스크립트 만들기
/etc/httpd/logs/ 안에 있는 로그 파일 중 30일이 지난 로그 파일을 삭제하는 스크립트를 만들었다.
#!/bin/bash cd /etc/httpd/logs/ find ./ -name "*_log-*" -mtime +30 -exec rm -f {} \; |
셀 스크립트 작성 요령
셀 스크립트를 작성할 때 제일 먼저 ‘#!/bin/bash’라고 작성해 주어야 한다. 그 이후에 수행하고 싶은 명령어들을 작성해 주면 된다. |
스크립트 파일 만들 때 파일 실행 권한 부여
# chmod +x test1.sh |
crontab 등록 예시
매월 31일 23시 수행되도록 시간 설정, 수행 시 로그를 남기도록 설정
# * 23 31 * * /home/test1.sh >> /home/test1.sh.log 2>&1 |
crontab 백업 스크립트 작성하기
관리자에 의해 crontab 내용이 삭제될 수 있음으로 주기적으로 해당 내용 백업 필요하다.
#!/bin/bash dd=`date +%d` # crontab -l > /home/crontab_$dd.txt |
스크립트 파일 만들 때 파일 실행 권한 부여
# chmod +x backup.sh |
crontab 백업 스크립트 등록 예시
매주 23시가 되면 crontab 백업하기
# * 23 * * 0-7 /home/backup.sh |
*쿠팡 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있습니다.*
*쿠팡 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있습니다.*
반응형
'공부방 > 서버' 카테고리의 다른 글
Dockerfile 작성 방법 (1) | 2023.05.09 |
---|---|
도커(Docker) 허브(Docker Hub) 가입 방법 (1) | 2023.05.09 |
docker-compose 설치 진행하기 (0) | 2023.05.07 |
centos 8 docker install (2) | 2023.05.03 |
SSL 인증서 갱신 작업 (0) | 2023.01.18 |
[시스템 보안] 시스템 로그 관리 기출문제 (33) | 2022.11.01 |
리눅스 톰캣 설치 방법 (1) | 2022.10.13 |
리눅스 apache 컴파일 하는 방법 (0) | 2022.10.13 |