cron 을 이용해서 기간이 오래된 백업 파일 삭제하는 방법 알려주세요.

OS 는 CentOS 입니다.

1 답변

(11.9k 포인트)
0 투표

안녕하세요 CentOS 에서 cron 사용법에 대해서 물어보셨군요

cron 설치 방법에 대해서는 생략할께요

그럼 크론이 돌아가고 있나 없나 실행하는 방법에 대해서 알려드릴게요

#ps -ef | grep crond

root 12143 | 0 |  4:22 ? 00:00:00 crond

기본적으로 리눅스 계열 os에서는 cron 데모이 주기적으로 실행을 합니다.

cron은 시작할때부터 끝날 때가지 계속 실행되어지며, cron 환경설정 파일은 crontab 이라고 부릅니다.

 

cron 이 참조하는 crontab 파일 위치는 

/var/spool/cron

/etc/cron.d

/etc/crontab 

이 3가지 입니다.

/var/spool/cron - 사용자 계쩡당 1개씩 가진다. 시스템 개별 사용자를 위한 crontab

/etc/crontab - 관리자가 직접 지정한 작업 설정, 임이의 사용자 권한으로 실행 할 수 있음, 시스템 관련 작업들을 등록

/etc/cron.d - 소프트웨어 패키지 설치할 때 이곳에 작업을 등록하는 공간으로 사용됨

 

crontab 옵션

 - crontab script.sh (script.sh 작업을 예약)
 - crontab -l (현재 걸려 있는 작업 목록 표시)
 - crontab -r (작업목록을 비움)
 - crontab -e (새로운 작업 입력,수정,삭제)
 
 
crontab 파일 형식
# MIN   HOUR   MDAY  MON  DOW   COMMAND 
       5          *            *          *           *       echo 'Hello' 
 
 
Item      Definition Valid Values
MIN                              Minute                                   0-60
HOUR                         Hour [24-hour clock]          0-23
MDAY                          Day of Month                        1-31
MON                            Month                        1-12 OR jan,feb,mar,apr ...
DOW                           Day of Week             0-6 OR  sun,mon,tue,wed,thu,fri,sat
COMMAND                Command to be run       Any valid command-line

 

<1. crontab -e 등록 예>
#Run command at 7:00am each weekday [mon-fri]
00 07 * * 1-5 mail_pager.script 'Wake Up'
 
#Run command on 1st of each month, at 5:30pm
30 17 1 * * pay_rent.script
 
#Run command at 8:00am,10:00am and 2:00pm every day
00 8,10,14 * * * do_something.script
 
#Run command every 5 minutes during market hours
*/5 6-13 * * mon-fri get_stock_quote.script
 
#Run command every 3-hours while awake
0 7-23/3 * * * drink_water.script 
 
실행할 xxx.sh 파일에 실행권한이 없을 경우 /bin/sh로 실행되도록 한다.
1-59 * * * * /bin/sh do_something.script > /dev/null
(매분마다 작업을 수행하고 결과는 출력하지 않는다)
 
 
 
 
<2. /etc/crontab 설정 예>
 SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""
HOME=/
 
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
01 2 * * * root run-parts /etc/cron.custom  <----- 매일 2am 에 /etc/cron.custom 폴더에 있는 스크립트 실행. 물론 여기서 /etc/cron.custom 폴더를 생성하고 폴더 내에 스크립트 파일도 생성해야 한다.
 
# test
01 23 * * * root /bin/sh /var/tmp/test.sh <------ 매일 11pm에 /var/tmp/test.sh 실행
 
 
구로역 맛집 시흥동 맛집
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
add
...