[AWS] Cron 설정

2022. 7. 14. 09:57AWS

cron : 유닉스/리눅스 계열에서 특정 시간에 특정 작업을 하는 데몬은 Cron(크론)이라고 함.
crontab : Cron(크론)이라는 데몬이 원하는 시간에 원하는 명령(프로그램)을 수행하도록 만든 명령 리스트를 Crontab
  • 설정 방법

1. crontab -e 명령어를 사용해 등록 

( */1 * * * * cd /home/ubuntu/html/프로젝트명 && php artisan schedule:run >> /dev/null 2>&1 )


2.  /etc/crontab에 직접 등록하는 방법, 이 경우는 vi, nano와 같은 편집기로 crontab 파일을 열어서 직접 편집을 합니다.

  • 명령어를 사용해 등록
crontab -e 명령어 입력
crontab -e 명령어를 사용하면 no crantab for root라는 메세지가 나오면서 편집기를 선택하라고 나옴.
편집기는 ed, nano, vim basic, vim tiny 중에서 선택할 수 있습니다. 
저는 easiest라고 쓰여진 nano편집기를 선택했습니다. 이 편집기는 GUI 편집기 특징을 어느 정도 갖추고 있어서 접근성이 좋았습니다.

nano 편집기에서 저장 명령어 -> CTRL + O, 빠져 나오는 명령어 -> CTRL + X

편집기에서 빠져나오면 ‘crontab: installing new crontab’이라는 메세지를 받으면 -> 성공
이 명령이 등록되면 /var/spool/cron/crontabs/ 폴더에 root라는 파일이 생성됩니다.

  • 크론탭 다른 명령어
crontab -e : 명령을 등록, 편집 – 맨 처음에 사용 시 편집기를 선택할 수 있다.
crontab -d : 등록된 명령을 삭제
crontab -l : 현재 등록된 리스트 출력
crontab -l -u otheruser : otheruser 사용자가 등록한 crontab 리스트 출력
crontab -r : 현재 사용자가 등록한 crontab 전체 삭제
  • 크론탭 설정 가이드
1. 한줄에 하나의 명령어만 적용합니다.

00 11,16 * * * 
/home/ramesh/bin/incremental-backup   ---> X

00 11,16 * * * /home/ramesh/bin/incremental-backup ---> O


2. #를 사용해 주석을 달 수 있습니다.

# 이것은 주석입니다.#
#------------------------#
#주석을 여기에 입력합니다.#
#------------------------#

3. 로그 남기기

* * * * * doitnow.sh > /var/log/crontab.kog 2>%1

4. 크론탭 백업 ( 매일 0시에 백업하도록하는 크론탭 명령입니다. )

00 00 * * * crontab -l > /home/crontab_bak
  • 주의사항
1. 실행파일 sh는 복사하지 말것

2. 변경 후 반드시 cron 다시 실행시키기

service cron start  # 가동
또는# 재가동

3. 실행 파일은 일반 경로에 위치, path 설정 – not found

4. 실행 파일 권한 문제 – Permission denied

/bin/sh: 1: dbit.sh: Permission denied ---> chmod +x dbbackup.sh

'AWS' 카테고리의 다른 글

[AWS] 서버 타임존 설정  (0) 2022.07.25
[AWS] Mobaxterm 세팅  (0) 2022.07.18
[AWS] RDS 서버  (0) 2022.07.18
[AWS] EC2 도메인 연결  (0) 2022.07.14
[AWS] 인스턴스 생성 및 탄력적 IP 연결  (0) 2022.02.15