crontab

2022. 12. 20. 21:37Linux

crontab

  • 개요
    • 시스템에서 특정시간에 원하는 작업을 수행할 수 있도록 해주는 스케줄링을 말합니다.
    • 시스템 백업 등과 같이 주로 새벽에 하는 작업들을 자동적으로 해 주는 용도로 많이 사용합니다.
    • 실무에서는 Shell Scripting과 함께 많이 사용합니다.
  • 주의사항
    • 시간이 기준이기 때문에 시스템의 시간을 정확하게 설정해야 합니다.
    • 설정을 한 다음에 시간을 변경해서는 안됩니다.
  • 사용법
    • 명령어
      • 생성, 수정 crontab -e
      • 리스트 확인 crontab -l
      • 삭제 crontab -r
    • 문법
      • 형식
        • <분> 0~59
        • <시> 0~23
        • <일> 1~31
        • <월> 1~12
        • <요일> 0~6 (0이 일요일)
        • <명령어>
        • * 일 경우 매번이라는 뜻

실습을 하나 해보겠습니다.

[root@localhost samadal]# crontab -e

 

매분 매시 매일 매월 매요일 crontab5.bash 파일을 실행시키겠습니다.

편집방법은 vi 편집기와 동일합니다.

* * * * * /root/crontab5.bash

 

crontabl -l로 적용된 스케줄을 확인할 수 있습니다.

[root@localhost samadal]# crontab -l
* * * * * /root/crontab5.bash

 

crontab5.bash의 내용을 확인해보겠습니다.

[root@localhost samadal]# vi /root/crontab5.bash

 

사용자의 접속기록 중에 samadal 계정의 기록을 파일로 저장합니다.

파일의 이름은 당시 시간의 영향을 받습니다.

 

#!/bin/bash
w | grep samadal > /root/crontab/samadal_`date +%m%d%H%M%Y`.txt

매 분마다 저장을 하다보니 많이 쌓여있는 모습입니다.

[root@localhost samadal]# ll /root/crontab/
합계 60
-rw-r--r-- 1 root root  70 12월 20 15:20 samadal_122015202022.txt
-rw-r--r-- 1 root root  70 12월 20 15:21 samadal_122015212022.txt
-rw-r--r-- 1 root root  70 12월 20 15:22 samadal_122015222022.txt
-rw-r--r-- 1 root root  70 12월 20 15:23 samadal_122015232022.txt
-rw-r--r-- 1 root root  70 12월 20 15:24 samadal_122015242022.txt
-rw-r--r-- 1 root root  70 12월 20 15:25 samadal_122015252022.txt
-rw-r--r-- 1 root root  70 12월 20 15:26 samadal_122015262022.txt
-rw-r--r-- 1 root root  70 12월 20 15:27 samadal_122015272022.txt
-rw-r--r-- 1 root root  70 12월 20 15:28 samadal_122015282022.txt
-rw-r--r-- 1 root root 170 12월 20 21:27 samadal_122021272022.txt
-rw-r--r-- 1 root root 170 12월 20 21:28 samadal_122021282022.txt
-rw-r--r-- 1 root root 170 12월 20 21:29 samadal_122021292022.txt
-rw-r--r-- 1 root root 170 12월 20 21:30 samadal_122021302022.txt
-rw-r--r-- 1 root root 170 12월 20 21:31 samadal_122021312022.txt
-rw-r--r-- 1 root root 170 12월 20 21:32 samadal_122021322022.txt

반복 실행

매시간 0분, 20분, 40분에 실행

0,20,40 * * * * echo "Hi"

 


범위 실행

매일 0분부터 30분까지 실행

0-30 * * * * echo "Hi"

간격 실행

매 10분마다 실행

*/10 * * * * echo "Hi"

이상입니다.

'Linux' 카테고리의 다른 글

쉘 스크립트 맛보기  (12) 2022.12.20
리눅스 명령어 grep, awk, sed  (7) 2022.12.19
1214수업, 리눅스xe복습, 윈도우관리,  (3) 2022.12.14
1213수업. httpd, xe설치  (3) 2022.12.13
14. 프로세스  (3) 2022.09.25