'자동화'에 해당되는 글 2건

  1. 2007.11.03 at으로 매일 실행하기
  2. 2007.11.03 마지막 일요일에 실행하기(cron)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                             UNIX GURU UNIVERSE
                                UNIX HOT TIP

                       Unix Tip 2339 - May 28, 2006

                   
http://www.ugu.com/sui/ugu/show?tip.today
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

at으로 매일 실행하기

유닉스는 지정된 시간에 따라 작업을 실행할 수 있는 "at"이라는 명령어를 제공한다.

특정한 작업을 매시간, 매일 실행하기 위해서는 매일 재귀적으로 실행될 수 있는
"at.sh"라는 파일에 다음의 명령어들을 사용하라.

########### CUT HERE ##################

#! /usr/bin/sh

# dt는 현재 날짜를 저장하는데 사용하는 변수

dt=`date | cut -c5-10`

# tm은 현재 시간을 저장하는데 사용하는 변수

tm=`date | cut -c12-13`

while [ $tm -le 23 ]
do

#
"at"은 명령어이고 -f는 특정파일을 실행하는데 사용하는 옵션이다.
# "file Name"은 실행가능한 파일이어야 한다.

    at -f  ./"file Name" $tm $dt
    tm=`expr $tm + 1`
done

#
인위적인 개입없이, 자동으로 다음날의 작업 스케줄을 변경한다.

at -f ./"File Name" 2358 $dt
dt=`expr $dt + 1`
at -f ./at.sh 0002 $dt

########### CUT HERE ##################
 
@@@@@@@@@@@@@@@@@@@@[ 원문 ]@@@@@@@@@@@@@@@@@@@@
 
RUN DAILY WITH AT

UNIX provides a command called "at" which can be used to run jobs according
to the specfied time.

To run a particular job in every hour, every day use the following set of
commands in a file called "at.sh" which will be executed recursively everyday.

########### CUT HERE ##################

#! /usr/bin/sh

# dt is a variable used to store current date

dt=`date | cut -c5-10`

# tm is a variable used to store current time

tm=`date | cut -c12-13`

while [ $tm -le 23 ]
do

# "at" is the command ad -f is the option used to execute a specified
# file. "file Name" should be an executable file.

 at -f  ./"file Name" $tm $dt
 tm=`expr $tm + 1`
done

# With out manual intervention, automatic change over to the next day's job
# scheduling

at -f ./"File Name" 2358 $dt
dt=`expr $dt + 1`
at -f ./at.sh 0002 $dt

########### CUT HERE ##################
신고
Posted by She쥐포s

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                             UNIX GURU UNIVERSE
                                UNIX HOT TIP

                       Unix Tip 2337 - May 26, 2006

                   
http://www.ugu.com/sui/ugu/show?tip.today
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
마지막 일요일에 실행하기

매월 마지막 일요일에 작업을 실행하려면, cron으로 다음의 문법을 사용할 있다.

 

18 * * * 0 [`date "+%d"` -gt 24] && /path/to/script

 

이 명령은 일요일 18시에 날짜가 24보다 큰지 체크하여 24보다 크다면 작업을

실행하라(만일 23을 지정하면 작업은 매월 마지막 2 일요일에 실행될 것이다)는

의미이다.


주: date 명령을 감싸고 있는 '`'는 작은 따옴표(')가 아니다.(~와 함께 있는 기호)

=====================================================

RUN ON LAST SUNDAY

If you want a job to run on the last
sunday of every month, you can use
the following syntax from within cron:

18 * * * 0 [`date "+%d"` -gt 24] && /path/to/script

i.e. on sundays at 18:00 check if
the day of the month is greater than
24 - if so run the job (if 23 is
specified the job will run on the last
2 sundays of the month)

NOTE: There back-ticks around the date
command, not single quotes.

This tip generously supported by: duncan.ferguson@egg.com

신고
Posted by She쥐포s