리눅스의 예약작업에 대해 알아보기 전에 몇가지 알고 넘어 가야 한다.
#uptime
10:53:31 38 3users load average : 0.00 0.00, 0.00
[현재시간] [부팅시간] [접속자수] [평균 부하 최근 1분 5분 15분] 을 나타낸다.
CPU코어 1개일때 부하가 1.0이면 CPU를 100% 사용하는중이다. 즉 정상적인 상태.
CPU코어가 2개일대 부하가 1.0이면 CPU를 50%만 사용하는 것이다.
swap 메모리
- 메모리 사용률이 100%가 되면 더이상 프로세스를 생성할 수 없다
- 이런 경우 시스템에 문제가 될 수 있기 때문에 하드디스크의 저장공간 일부를 메모리처럼 사용할 수 있다.
free
- 메모리/swap 정보를 확인할 수 있다.
- m(Megabyte)
- g(Gigabyte)
swap는 512 이며 전체의 966메가 중에 134메가를 사용하였고 861 메가가 남았다.
du(Disk Usege)
- 디렉토리 및 하위 파일 총 용량을 나타낸다
- s : 요약
- h : 사람이 읽기 쉽게 용량 단위와 함께 사용
- 시스템이 얼마만큼의 용량을 사용하는지 알 수 있다.
ex) #du /home : 홈 디렉토리 안에 있는 각각의 디렉토리 별로 있는 것들의 용량을 확인할 수 있다.
ex) #du /usr : 최상위 아래 usr아래 있는 모든 하위 파일들의 용량을 나타낸다(기본 byte단위로 나타냄)
ex) #du -h /usr : 디렉토리의 크기를 알 수 있다.
ex) #du -sh/usr : usr 디렉토리 용량
ex) #du -sh /usr.* : /usr 하위 디렉토리 별 용량
#du -h /sur 을 통해 최상위 아래에 있는 usr의 크기를 보기 쉽게 나타내준다.
예약작업
- cron : 지정한 시간에 설정한 "명령"을 주기적으로(반복) 실행해라.
crond 데몬의 현재 상태 확인
#cat /etc/crontab 를 입력하면 crontab의 양식파일이 출력된다.
필드가 헷갈린다면 양식을 쳐서 이해하도록 하자.
#crontab[option]
- l 예약 작업을 확인
- r 예약 작업을 제거
- e 예약 작업을 설정(편집)
- u[계정명] l,r,e와 함께 사용
예약 작업은 crontab(파일)에 저장이 되며 해당파일은 사용자별로 생성된다.
#crontab -e
crontab 필드는 총 6개이며 각 필드는 공백문자(space bar,tab)로 구분할 수 있다
[분] [시] [일] [월] [요일] [작업내용]
0~59 0~23 1~31 1~12 0~6(7) (명령어/스크립트) 암기하도록 하자.
매시 1~5분마다 /practice/LOG 디렉토리 아래 cron_test.log파일이 생성되도록 설정하라 라는 문제가 있을 때
#mkdir /practice/LOG
#crontab -e
1-5 * * * * touch /practice/LOG/cron_test.log
#crontab -l
이렇게 입력하면 아래와 같이 출력된다.
#crontab -l
crontab 예시
ex) 매요일 매월 1일 23시 30분에 [작업내용]을 반복하겠다
30 23 1 * * [작업내용]
ex) 매요일 매월 매일 오전 10시에 2분마다 작업내용을 반복하겠다
*/2 10 * * * [작업내용]
ex) 주말 오전 9시에 [작업내용]을 반복한다.
0 9 * * 6,7 [작업내용]
crontab 명령어는 일반 사용자도 사용이 가능하다.
한가지 예를 들어보자. T-MAP이 가장 많은 부하가 발생하는 시간은 어제일까
아마 출/퇴근 시간일것이다. 출근시간을 7~9시로, 퇴근시간을 5~8시로 가정했을 때
사용자가 오후 6시에 파일을 압축,백업,전송한다면 시간이 오래 걸리고 지연되어 비효율적일 것이다.
그렇기 때문에 서버가 부하를 받는 시간을 피해 주로 새벽에 예약작업을 설정한다.
'Linux' 카테고리의 다른 글
Linux 파일 시스템(2) mount (0) | 2018.02.08 |
---|---|
Linux 파일 시스템 (0) | 2018.02.05 |
Linux 프로세스(백그라운드,포그라운드) (1) | 2018.02.01 |
Linux 패스워드 정책 (0) | 2018.01.31 |
Linux (ACL , sudo) (0) | 2018.01.30 |