디스토피아
[리눅스 명령어] cron 본문
LINUX COMMAND
리눅스 명령어 cron
매일 파일이나 데이터베이스의 백업을 수행하고 싶다면?
백업을 수행한 후 원하는 위치에 파일을 보내기,
내부 캐쉬를 비우는 작업 등
원하는 시간... 사람이 없는 새벽
cron 이면 가능합니다.
cron을 어떻게 사용할까요?
cron 설정 읽는 법
분 시 일 월 주 : command to excute
* * * * * : 실행할 명령어
• * : 범위 내 모든 경우
• 숫자 : 정확히 일치하는 그 시각, 날짜
• ' - ' 기호로 연결된 두 숫자 : 두 숫자 사이에 포함된 범위를 뜻함
• 콤마( , )로 구분돼 나열된 숫자 : 나열된 숫자 중 일치하는 경우를 뜻함
crontab
crontab [ -u 사용자 id] 파일
crontab [-u 사용자 id] { -l | -r | -e}
•crontab -l : 예약된 작업리스트
•crontab -e : 예약된 작업 수정
•crontab -r : 예약된 작업 삭제
•crontab -u 사용자명 : 루트관리자는 해당 사용자의 crontab 파일을 보거나 삭제, 편집가능
crontab 사용자 제어
/etc/cron.allow
/etc/cron.deny
/etc/cron.deny와 /etc/cron.allow 설정파일에서 사용자에 대한 crontab 제어를 관리할 수 있다.
/etc/cron.allow
이 허용파일이 있는 경우 파일 내 지정된 사용자만 crontab을 등록할 수 있다.
지정되지 않은 사용자들은 crontab 명령을 실행할 수 없다.
/etc/cron.deny
허용파일이 없는 경우에는 이 거부 파일이 사용된다.
파일 내 지정된 사람을 제외한 나머지 사용자에게 crontab 명령 실행 권한이 주어진다.
두 파일 모두 존재하지 않을시
두 파일 모두 존재하지 않는 경우에는 대다수 시스템에서 루트 관리자만이다.
데비안과 우분투 배포판은 이런 경우 모든 사용자에게 실행 권한을 준다.
cron이 참조하는 crontab 파일 위치
/var/spool/cron
/etc/cron.d
/etc/crontab
cron은 시작할 때 모든 곳에 저장된 설정파일들을 읽어 메모리에 저장해두고 휴지 상태에 들어간다.
그리고 매분마다 활성화돼 변경된 crontab 파일들이 있는지 확인하고,
변경된 경우 설정을 다시 읽어 저장하고,
그 시간에 실행해야 할 작업이 있는지 확인하고 실행시킨 후 다시 휴지 상태로 들어간다.
/var/spool/cron
시스템 개별 사용자를 위한 crontab 파일 위치이며
일반적으로 root 계정용 하나와 계정 사용자당 1개의 파일을 가진다.
파일명은 사용자의 계정명이며 cron은 이 이름을 바탕으로
각 설정 파일에 지정된 작업들을 실행할 때 사용할 UID를 결정한다.
이 곳에 있는 설정파일들은 crontab 명령으로 관리한다.
/etc/crontab
관리자가 직접 지정한 작업들을 설정하며, 임의의 사용자 권한으로 실행할 수 있다.
시스템 관련 작업들을 등록해 사용하는 곳이다.
'정보·기타 > it' 카테고리의 다른 글
WAF 웹방화벽, AWS WAF (0) | 2022.12.26 |
---|---|
웹 서버의 OS와 웹서버 종류 확인 사이트 (0) | 2022.12.26 |
[리눅스 명령어] Disk I/O & 확인 (2) | 2022.12.26 |
키보드 자판 특수 문자 ` ~ ! @ # $ % ^ & * ( ) _ + - = [ ] { } ; ' : " < > ? / . , \ | 이름 (0) | 2022.12.26 |
[리눅스 명령어] curl (0) | 2022.12.26 |