01.리눅스 기초 - 정기적으로 실행(cron)

ID짱재·2021년 3월 11일
0

Llinux

목록 보기
12/17
post-thumbnail

🌈 정기적으로 실행

🔥 cron 이란?

🔥 간단 cron 만들기

🔥 cron 설정


1. cron 이란?

  • 정기적으로 프로그램을 실행시켜주는 것을 cron이라 함
  • 정기적으로 프로그램 실행시켜서 업데이트를 하거나, 메일을 보낸다거나 할 때 cron을 이용

    1) cron 기본 명령어

    • cron 설정 및 수정 : 🔍 sudo crontab -e
    • cron 목록 보기 : 🔍 sudo crontab -l
    • cron 삭제 : 🔍 sudo crontab -r

    2) nano 또는 vim 으로 cron 실행하기

    • nano로 cron 실행 : 🔍 export VISUAL=nano; crontab -e
    • vim으로 cron 실행 : 🔍 export VISUAL=vim; crontab -e
    • vi로 cron 실행 : 🔍 export VISUAL=vi; crontab -e 👈 default세팅

2. 간단 cron 만들기

  • 1단계 : 크론 설정으로 들어간 뒤, 1분 간격으로 date를 찍어 date.log에 저장해주는 스크립트 작성
    crontab -e로 크론 설정 들어간 뒤, */1 * * * * date >> date.log 입력
  • 👏Tip : cron을 만들 때, 실행 스크립트(*/1 * * * * date >> date.log) 뒤에 2>&1를 함께 적어주면 error를 확인할 수 있음
    • 2> 는 Standard Error의 출력을 Standard output(&1) 으로 리다이렉션 시킨다는 뜻
    • 즉, 오류가 발생하면 그 내용을 date.log에 기록해줌
    • 1만 써주면 1이라는 곳에 리다이렉션하라는 뜻으로 이해하기 때문에 &1을 써줘야함
    • 🔍 */1 * * * * date >> date.log 2>&1
  • 2단계 : control + x ⇢ Y ⇢ enter 로 빠져나옴 😥
  • crontab : installing new crontab 이라는 문구가 나온다면 잘 설정된 것
  • sudo crontab -l을 통해서도 실행 중인 cron을 확인할 수 있음
  • 3단계 : 실행 중인 cron의 활동을 모니터링하려면, 아래와 같이 터미널에 입력
    • 🔍 tail -f date.log
    • data.log 파일의 마지막(tail) 부분이 업데이트될 때마다(-f/감시) 터미널에 띄우라는 명령임
    • 그럼 아래 처럼 계속 date가 1분에 1번씩 입력되는 것을 확인할 수 있음
    • tail -f date.log 를 빠져나갈 때는 control + c

3. cron 설정

  • 위에 cron 설정에서 */1 * * * *이 1분에 1번씩 이라는 의미임
  • cron은 이처럼 자리수 마다 실행될 스케쥴에 대한 설정을 해줄 수 있음
  • *(몇분) *(몇시) *(몇일) *(몇월) *(몇주) *(몇년) 순임
  • 년도에 대한 설정은 필요없을 경우, 생략 가능
  • cron 설정 연습 주소 : https://crontab.guru/#*_*_*_*_*
profile
Keep Going, Keep Coding!

0개의 댓글