입력 키 | 설명 |
---|---|
\C+a | 라인 처음으로 이동 |
\C+e | 라인 끝으로 이동 |
\C+r | 역 점진 탐색 |
런 레벨 | 의미 |
---|---|
0 | 시스템 중단(Halt) |
1 | 텍스트 기반의 단일 사용자 모드(single user mode) |
2 | 사용되지 않음(사용자가 지정 가능) |
3 | 텍스트 기반의 다중 사용자 모드 |
4 | 사용되지 않음(사용자가 지정 가능) |
5 | X-윈도우 기반의 다중 사용자 모드(로그인도 X-윈도우에서 이루어짐) |
6 | 시스템 리부팅 |
cron은 유닉스 계열 운영체제에서 오랫동안 사용돼 온 작업 스케줄러입니다.
crontab이라는 설정 파일을 통해 수행할 작업과 수행할 일시를 지정하여 사용합니다. RHEL의 cron은 빅시 크론(vixie-cron)이라는 패키지를 사용했으나 버전6 부터는 빅시 크론 대신 cronie라는 패키지가 들어가있습니다.
정기적인 작업은 /etc/anacrontab
파일을 통해 수행합니다.
아래의 각 디렉토리 내용을 토대로 실행합니다.
/etc/cron.daily
/etc/cron.weekly
/etc/cron.monthly
기본 설정된 매일 수행 작업은 서비스의 로그 파일을 정리하는 logrotate
키워드로 매뉴얼을 검색할 수 있게 인덱싱해주는 maktewhatis.cron
명령 등이 있습니다.
crontab
은 cron
이 실행할 명령어와 수행 시간을 지정하는 설정파일의 이름이자 명령어입니다.
crontab option
형식으로 실행하며 자주 사용되는 옵션은 아래와 같습니다
? ? ? ? ?
분 시간 일 달 주일
(0-59) (0-23) (1-31) (1-12) ((7|0)-6)
시간과 날짜를 지정하는 필드에 에스터리스트(*)를 지정할 경우 해당 필드의 모든 시간을 실행하겠다는 의미입니다.
$ service cron status
$ service cron start
$ service cron restart
$ crontab -e # 파일안에 형식에 맞추어 입력
0,3,17-19,40 1-2 * * * ls
# 매일 오전 1시,2시에 매분 정각,3분,17분,18분,19분,40분에 ls 명령어를 실행하는 구문입니다.
# 근데 이렇게 하면 명령어가 출력이 안됩니다. 표준
0 23 * * * mysqldump -u root -p123 --databases mydb mydb1 > /root/mysqldump.sql
# 매일 밤 11시 정각에 mysqldump.sql로 백업합니다.
# mysqlDump.sh
#!/bin/bash
mysqldump -uroot -p123 --databases mydb mydb1 > /root/mysqldump.sql
0 23 * * * /mysqlDump.sh
# 안정성을 보장하기 하기위해서는 스크립트 파일을 생성하고 실행해주는것이 좋습니다.
특정사용자만 cron을 사용하게 하거나 특정 사용자는 cron을 사용하지 못하도록 설정해야 할 때가 있을겁니다. cron은 다음과 같은 식으로 권한을 확인합니다.