crontab 관련 잘 정리된 내용이 있어 여기에 옮깁니다

 

[출처 : blog.naver.com/anysecure3/221739040530 ]

 

오늘은 리눅스에서 일정한 시간마다 반복 작업을 해야 할 때 사용하는 crontab에 대해서 알아보도록 하겠습니다.

 

특정한 시간마다 정해둔 명령어가 계속 실행되도록 도와주는 패키지 입니다

 

 

crontab 설정의 경우 두가지 방법으로 설정이 가능합니다.

 

첫번째는 /etc/crontab 파일을 직접 수정하는 방법

 

[root@localhost ~]# sudo nano /etc/crontab 

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

 

# For details see man 4 crontabs

 

# Example of job definition:

# .---------------- minute (0 - 59)

# |  .------------- hour (0 - 23)

# |  |  .---------- day of month (1 - 31)

# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...

# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

# |  |  |  |  |

# *  *  *  *  * user-name  command to be executed

 

두번째는 crontab 명령어를 이용하는 방법

 

[root@localhost ~]# crontab -e # 내 crontab 수정

[root@localhost ~]# crontab -l # 내가 설정한 crontab 확인

[root@localhost ~]# crontab -e -u test # test란 이름의 사용자의 crontab 수정

[root@localhost ~]# crontab -l -u test # test란 이름의 사용자의 crontab 확인

두 방법 모두 파일 에디터인 vim이나 nano를 이용하여 파일 수정을 하시면 됩니다

 

단 첫번째 방법의 경우 < 시간 > < 사용자 명 > < 원하는 명령어 > 순서로 적어주셔야 하지만

두번째 방법의 경우 < 시간 > < 원하는 명령어 > 로만 적어주시면 됩니다.

 

각 칸이 의미하는 시간은 다음과 같습니다.

 

0 5 * * * systemctl restart httpd

┬ ┬ ┬ ┬ ┬

│ │ │ │ │

│ │ │ │ │

│ │ │ │ └───────── 요일 (0 - 6) (0:일요일, 1:월요일, 2:화요일, …, 6:토요일)

│ │ │ └───────── 월 (1 - 12)

│ │ └───────── 일 (1 - 31)

│ └───────── 시 (0 - 23)

└───────── 분 (0 - 59)

'모든'에 해당하는 글자로 숫자 대신 *을 붙이면 각각 매 분/시/일/월/요일이 가능합니다.

 

 

또한 / 를 통해서 '~ 마다'에 해당하는 설정을 할 수 있습니다.

 

*/30 * * * * echo "every 30min"

매 30분 마다 한번씩 실행

 

','를 통해서 여러 시간을 지정할 수 있습니다.

 

10,35 * * * * echo "every 10, 35min"

매시 10분, 35분 마다  실행

 

30 */6 * * * echo "every 6hours at 30mins"

매 6시간 마다 실행 ( 00:30, 06:30, 12:30, 18:30)

 

30 1-18/2 * * * echo "every 2hours on 1am-6pm"

01시 ~ 18시 까지 매 2시간 마다 실행 ( 01:30, 03:30, ..... 17:30 )

 

 

이번 포스트에서는 간단하게 crontab을 사용하는 방법에 대해 알아보았는데요.

이런 crontab의 경우 주로 시간 동기화나 http 재시작, 주기적인 백업 스크립트 작동등

여러 방면에서 활용도가 높은 패키지이기 때문에 꼭 까먹지 마시고 기억 해두시면 좋을 것 같습니다.

감사합니다. 오늘도 좋은 하루 되세요. :)

 

[출처 : blog.naver.com/anysecure3/221739040530 ]

 

@reboot = run at boot and reboot only

@yearly  = run at midnight Jan 1 each year (equiv to 0 0 1 1 *)
@annually  = run at midnight Jan 1 each year (equiv to 0 0 1 1 *)
@monthly  = run at midnight on the first day of each month (equiv to 0 0 1 * *)
@weekly  = run at midnight each Sunday (equiv to 0 0 * * 0)
@daily  = run at midnight each day (equiv to 0 0 * * *)
@midnight  = run at midnight each day (equiv to 0 0 * * *)

@hourly = run on the first second of every hour (equiv to 0 * * * *) 



출처: https://hmjkor.tistory.com/420 [개발이야기]

 

 

 

 

 

DS5QDR 73!

블로그 이미지

DS5QDR Heonmin Lee in Korea

DV 통신 경험 공유 Mode : DMR, DSTAR, YSF, XLX, YSF, M17, AllStarLink, EchoLink Software : DVSwich, USRP Client, Last Heard, MiniPi, MiniMT, VuMeter, DVPi, Pi-Star

,