Shebang, PATH, Cron

onebbu·2023년 3월 30일
0

리눅스

목록 보기
6/6

Shebang, PATH

bash 스크립트 작성

shebang

#!로 시작하는 문자열

shebang 예시

나노로 새 파일을 만든 후에 #!/bin/bash 입력: 우분투에게 이 파일은 배쉬 프로그램이라고 알려줌


bash 스크립트 작성
실행 화면 이미지

PATH

디렉토리 목록
path를 출력했을 때 이미지

path 수정(수동 변경)

  1. bin 디렉토리(PATH를 지정할 디렉토리) 생성(mkdir bin)
  2. hi(생성한 스크립트)를 bin 폴더로 이동
  3. nano .bashrc 입력
  4. 파일 내에서 PATH="HOME/bin:HOME/bin:PATH" 입력
  5. nano 빠져나와서 source .bashrc 입력
    -> 여기까지 진행할 경우 hi를 입력했을 때 실행 권한이 없다고 나옴

    실행권한 추가하는 작업 필요
  6. bin 폴더로 이동해서 권한 수정(chmod a+x hi)

    결과 이미지
    출력과 함께 hi 로그 생성됨

Cron

특정 간격이나 특정 시간에 실행되도록 명령어를 예약하는데 사용

crontab

개별 사용자에 대한 crontab을 유지 관리하는데 사용
각 사용자는 고유한 crontab을 가질 수 있음
사용방법: crontab -e -> 1~3번 선택지(1번-nano 선택)

cron 문법


5개의 문자와 명령어가 공백으로 구분됨
공백을 구분기호로 사용, 공백의 개수는 중요하지 않음

  • 분: 0~59
  • 시: 0~23
  • 일: 1~31
  • 월: 1~12(April, May 사용 가능)
  • 일(요일): 0~6(0: 일요일, 6: 토요일)

cron 기호

  • *: 모든 값
    월 자리에 있으면 어떤 월이든, 매 월을 의미
  • -: 범위값
  • /: 단계값

cronjob 문법 예시

30 6 * * * command

매 시간 30분마다 실행(* 4개: 모든 시간, 모든 일, 모든 월, 모든 요일): 2시반, 3시반, 4시반...

0 0 * * * command

매일 자정마다 실행

30 6 * * * command

6시 30분마다 실행

30 6 * * 1 command

월요일(1) 6시 30분마다 실행

30 6 * 4 1 command

4월의 매주 월요일 6시 30분마다 실행

0 0 1 * * command

매월 1일 자정마다 실행

0 0 * * 1-5 command

월요일(1)~금요일(5) 자정마다 실행

/5 * * * command

5분마다 실행

참고
crontab guru

cronjob 작성

  1. crontab -e로 실행

  2. 명령어 작성 후 빠져나오기

  3. cronjob이 적용된 화면

0개의 댓글