- NEW초롱이의 하루
- kisa
- 길은 가면, 뒤에 있다
- C언어 예술가
- Zer0 day - Zer0 day
- Information Security
- Secure-EDU
- 앙큼한유채's 일상 Story
- Library of Ezbeat (잠정 폐쇄)
- The Factory
- 안드
- 모후모후의 커뮤니티
- 공학도의 잡다한 시선
- 안드2
- IT속에 코코아
- IP주소검색(whois)
- IP주소검색(좌표포함)
- 소프트웨어 경력 관리
- 해저 케이블 지도
- MAC주소검색
- IANA
- 포트번호검색
- 자신의IP확인
- 웹페이퍼캡처
- 나의패스워드보안등급
- 웹 취약점 분석
- IT용어정리
- GitHub
- 라이브러리 모음
- 웹마당넷
- 시스템콜참고
- BCD 변환
- 보안뉴스
- 코딩도장(C, Python)
- 백준알고리즘
- 코딩테스트 연습
- 웹 사이트 테스트
- 스크립트꾸미기
- ctf대회목록
- 전자신문
- hash 크랙
- CVE
- 도메인등록
- N클라우드
- BugBountyList
- 칼리공식사이트
- CR4FTING BOX
- 아스키코드 변환
- 웹 사이트 통계 및 평가
- PDF변환
- AWS 및 클라우드 정보
- 가상화 및 서버관련
- 티오리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 쉘 스크립트
- ACL
- centos docker
- 자바
- Java
- 리눅스
- 안드로이드
- 쉘 스크립트 if문
- docker
- 메소드
- 네트워크
- Linux
- System
- API
- Python
- Shell script
- 쉘 스크립트 기초
- 라즈베리파이
- Android
- 클라우드
- nginx
- GUI
- GPIO
- 프로젝트
- synology
- JSP
- Tkinter
- LEVIATHAN
- RaspberryPi
- 그라파나
- Today
- Total
IT창고
리눅스 예약작업 본문
리눅스 프로그램을 사용하면 지금 바로 사용하기 보다 나중에 작업을 해야할 경우가 생기는데 그 작업을 미리 해둘수있는 방법이 있습니다. 예약작업에 사용하는 명령어 at와 cron가 있습니다. at는 정해진 시간에 설정한 명령어를 "한번만" 실행하는 프로그램 입니다. cron명령어는 정해진 시간에 설정한 명령어를 "반복"해서 실행하는 프로그램입니다.
at명령어에 대해 알아보겠습니다.
먼저 at의 설치유무를 알아보기 위해 rpm -qa | grep at를 입력해서 알아보고 미설치상태라면 yum -y install at 와 yum -y install mail을 설치합니다. 설치가 끝났다면 service atd start로 at를 시작해줍니다. 사용자가 지정한 시간에 작업이 실행되기 위해 at데몬이 동작중이어야 합니다.
사용방법은 at[옵션][시간] 입니다. 옵션 -l는 현재실행대기중인 목록을 출력해주고 -d는 현재 실행 대기중인 목록을 삭제해 줍니다. 시간형태는 다양한데 yyyy-mm-dd, HH:MM, today, now, am, pm 등 사용해주시면 됩니다.
ex) at 10am jul 18 , at today +1min , at 6pm + 4days 명령어를 입력해주고 ctrl + d를 입력해줍니다.
at예약작업은 /var/spool/at 디렉토리에 임시 작업 파일이 저장되며 작업이 완료되면 자동으로 삭제가되고 at작업의 결과를 보고 싶다면 cat 명령어로 /var/spool/mail 디렉토리에 사용자 이름으로 된 메세지 파일을 열어보면 됩니다.
작업이 완료되면 You have new mail in /var/spool/mail/root 와 같은 메세지가 출력되고 해당 디렉토리에 가면 작업결과를 확인할 수있습니다.
cron명령어에 대해 알아보겠습니다.
명령어 service crond status를 입력해보면 현제 crond 데몬이 활성화되어 있는지 확인할수있는데 기본적으로 활성화되어있습니다. 사용하는 명령어는 crontab명령어로 cron을 관리하고 특정작업을 주기적으로 반복할때 사용합니다.
사용방법은 crontab [옵션]입니다 옵션 -l은 crontab에설정된 작업을 확인하고 -r은 crontab에 설정된 작업을 삭제하고 -e는 [계정명] crontab을 편집하고 -u는 [계정명] 해당 계정의 crontab을 확인합니다.
crontab의 특징으로 파일은 사용자 별로 생성되고 해당 파일에 주기적으로 반복해야하는 작업의 내용을 작성할수있으며 한 라인에 하나의 작업을 설정합니다.
crontab의 형식은 6개의 필드로 이루어져 있으며 각 필드는 공백 문자로 구별하고 아래와 같습니다.
분 |
시 |
일 |
월 |
요일 |
작업내용 |
0~59 |
0~23 |
1~31 |
1~12 |
0~6 |
명령어/스크립트 |
숫자에 기호를 더해 사용하면 좀 더 깊은 의미로 사용하게 되는데 " * "은 해당항목의 모든 값을 의미하고 " - "은 두 숫자사이의 포함된 범위를 뜻하고 " / "로 시간의 간격을 지정합니다.
ex)분 1-3 -> 1분,2분,3분 , 분 10/2 -> 2,4,6,8,10 10분까지 2분마다 작업
crontab -e 명령어를 입력하고 매요일 매월 매일 16시에 2분마다 해당 작업을 반복은 */2 16 * * * [작업내용]과 같이 vi편집기에 입력해주면 됩니다.
더 자세한 내용은 cat /etc/crontab을 참고하면 됩니다.
crontab을 아무나 사용하게 되면 부하가 생길수있기에 사용을 제한해야할 경우가 있습니다. crontab명령어 사용을 제한할 방법이 있는데 /etc/cron.allow , /etc/cron.deny 파일을 사용하면 됩니다. 사용방법도 매우 간단합니다. vi /etc/cron.deny 입력후 해당 계정만 적어주시고 저장후 닫으면 됩니다. allow파일은 허용 파일리고 deny파일은 차단파일입니다. 만약 cron.allow파일이 없고 cron.deny파일만 있을 경우 cron.deny파일에 명시하지 않은 계정들만 crontab명령어 사용이 가능하고 cron.allow파일이 있다면 그 파일에 등록된 계정만 crontab명령어를 사용할 수 있습니다. 그리고 파일이 둘다 없을 경우에는 root계정만 사용이 가능합니다.
at명령어도 동일하게 /etc/at.allow파일과 /etc/at.deny파일을 만들어서 명령어 사용을 제한할수 있습니다.
'서버운영 > Linux' 카테고리의 다른 글
리눅스 RAID구성 (0) | 2017.08.31 |
---|---|
리눅스 파일시스템 (0) | 2017.08.30 |
리눅스 프로세스 (0) | 2017.08.29 |
리눅스 소유권과 허가권 (0) | 2017.08.25 |
리눅스 사용자계정 (0) | 2017.08.25 |