[ Server ][ Linux ] cron사용법(쉘스크립트, 리눅스 파일 자동실행) > linux

본문 바로가기
사이트 내 전체검색

linux

[ Server ][ Linux ] cron사용법(쉘스크립트, 리눅스 파일 자동실행)

페이지 정보

작성자 웹지기 댓글 0건 조회 24,512회 작성일 18-09-11 13:58

본문

## 크론설정(쉘스크립트 실행)

----------    ----------    ----------------------------------------------------------------------------------------------------

필        드    의        미    범        위

----------    ----------    ----------------------------------------------------------------------------------------------------

첫번째        분                0-59

두번째        시                0-23

세번째        일                0-31

네번째        요일            0-7(0또는 7 / 1=월, 2=화, 3=수, 4=목, 5=금, 6=토, 7=일)

여섯번째    명령어        실행할 명령을 한줄로 쓴다.

                                        한줄당 하나의 명령(두줄로 나눠서 표시 할 수 없슴)

                                        #으로 시작하는 줄은 실행하지 않는다(주석표현)

----------    ----------    ----------------------------------------------------------------------------------------------------


##시간 설정 의미

 = '*' 은 해당 필드의 모든 시간을 의미

 = 3,5,7 와 같이 ,로 구분하여 여러 시간대를 지정

 = 2-10 과 같이 - 으로시간 범위 지정

 = 2-10/3 와 같이 - 으로 시간 범위를 /로 시간 간격을 지정

    (2~10까지 3간격 3,6,9를 의미)

 /dev/null 2>&1 은 지정한 명령어 처리 결과와 발생할지 모르는 에러메시지를 출력하지 않고 모두 버린다는 뜻

 파일명 2>&1 은 결과와 에러를 파일로 저장


##예)

 20 2 * * 6 명령어 ===> 매주 토요일 새벽 2:20

 0 4-6 * * * 명령어 ===> 매주 오후 4,5,6시

 5 */2 * * * 명령어 ===> 매일 2시간 간격으로 매5분에

 15 1 1 * * 명령어 ===> 매월 1일 새벽 1:15

 30 0 1 1,7 * 명령어 ===> 1,7월 1일 새벽 0:30

 10 2 * * * /app11/minsang/APP/ldap/run.sh > /APP11/minsang/APP/ldap/cron_error.log();


## 크론 에디터 실행

crontab -e 실행시 vi 에디터가 나온다(환경변수 EDITOR에 따라 다른 에디터를 사용할 수 있다.)

crontab [-u 사용자 id] 파일

crontab [-u 사용자 id] {-l|-r|e}


crontab -l : 예약된 작업리스트

crontab -e : 예약된 작업 수정

crontab -r : 예약된 작업 삭제


##일반 사용자 crontab 명령어 사용하도록 설정 허가

/etc/cron.allow 사용자 아이디


##일반 사용자 crontab 명령어 사용을 제한

/etc/cron.deny 사용자 아이디


##크론 실행 확인

ps -ef|grep crond


##크론 명령

/etc/init.d/crond start{restart | stop}



##실행계획에 포함시킬수 있는 파일들

펄 파일 (*.pl)

쉘스크립트 파일 (*.sh)

PHP CLI 쉘스크립트 파일 (*.php)


##실행계획에 포함시킬때 주의사항

crontab에 쉘스크립트를 기재할때 절대경로를 기재한다. 명령어를 곧바로 써도 시스템명령이든 추가된명령이든 절대경로를 사용한다.

쉘스크립트 내부의 내용에는 시스템 명령(ls, mv 등등)외에 사용자 정의 파일, 설치된 프로그램 명령어는 모두 절대경로를 기재한다.


##사용 예제1

1

/usr/bin/mysqlcheck -Aao --auto-repair -u root --password=xxxxxx

2

> /junsik_sh/db_optimize.log;

3

##사용 예제2

4

58 01 * * * mkdir /jun


#상대경로로 명령어을 기재하면 Cron은 알수 없기 때문에 항상 절대경로로 명령어를 기재해야 한다.


※ 절대경로 쉘스크립트 예제

----------------------------------------------------------------------------------------------------

#!/bin/bash

# Writer : Zetswing

# FileName : TomcatCheck.sh


##########

SHELL=/bin/bash

JAVA_HOME=/home2/ysaraha/ysaraha.ttongfly.net/java/jdk1.5.0_10

export JAVA_HOME

##########


PROCESS_NAME=tomcat


PROCESS_COUNT=`ps -ef | grep $PROCESS_NAME | grep -v grep| wc -l`


if [ $PROCESS_COUNT = 0 ]

then /home2/ysaraha/Tomcat.sh s

fi

echo "TomcatCheck Success!"

----------------------------------------------------------------------------------------------------


##PHP 쉘스크립트 파일로 cron 이용해 실행하기

*/1 * * * * /usr/local/apache2/htdocs/index.php

*/1 * * * * php /usr/local/apache2/htdocs/index.php

*/1 * * * * /usr/local/bin/php /usr/local/apache2/htdocs/index.php

※세가지 경우 모두 해당 파일 상단에 php의 경로를 적당히 써주어야 합니다.

※세가지 경우 모두 실행권한을 chmod 700(root경우) 반드시 주어야 합니다.

※경로는 무조건 절대경로를 써야 합니다.


##크론은 실행계획이 처리될때마다 ROOT나 해당계정에게 메일을 보내준다.

메일을 안보내게 하는 방법을 알아보자

자신의 계정이 루트 계정일 경우

1. /etc/crontab 파일을 편집한다.

2. 아래 내용에서 MAILTO=ROOT 을 MAILTO="" 로 변경한후 저장한다.

SHELL=/bin/bash

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

MAILTO=ROOT

HOME=/

자신의 계정이 사용자 계정일 경우


쉘모드에서 crontab -e 명령으로 실행계획의 맨상단에 MAILTO="" 를 추가한다.


##주석 표시

해당 라인의 맨앞에 #을 넣으면 해당라인은 주석처리 됩니다.


##현재 통서버의 ysaraha 계정에서 돌아가는 crontab 실행계획 내용

MAILTO=""

*/360 * * * * /home2/ysaraha/Backup.sh

*/30 * * * * /home2/ysaraha/TomcatCheck.sh


## 정기적인 실행계획을 원하면 아래의 폴더에 파일을 갖다 놓는다.

/etc/cron.hourly - 매시간마다 실행

/etc/cron.daily - 매일마다 실행

/etc/cron.weekly - 매주마다 실행

/etc/cron.monthly - 매달마다 실행


※ 위의 실행계획은 /etc/crontab에 정의되어 있다.


## crontab 로그 남기는 방법


# 실행시 nohup으로 실행하면 된다.

02 11 28 03 * nohup /sunrise/cron/run_imsi.sh >> /sunrise/cron/nohup_run_imsi.out 

[이 게시물은 웹지기님에 의해 2019-03-15 15:39:23 knowledge에서 이동 됨]
추천0 비추천0

댓글목록

등록된 댓글이 없습니다.

Total 103건 5 페이지
  • 43 [ Server ][ Linux ] centos7 git 버젼업데이트
  • # make configure # ./configure --prefix=/usr # make all doc info @make all doc info 설치시 오류가 발생 @Can't locate ExtUtils/MakeMaker.pm 해결방법 # yum install perl-CPAN # sudo make install install-doc install-html install-info # git --...
  • 웹지기 04-01 10013 0 0 댓글 0
+1
  • 42 [ Server ][ Linux ] centos7 java ( jdk )설치 및 설정
  • @wget을 통해서 설치하므로 wget 설치 # yum install -y wget @다운로드 페이지로 이동해서 다운받을 버젼을 확인한다. https://www.oracle.com/technetwork/java/javase/downloads/index.html @설치된 리눅스의 비트수를 확인하고 거기에 맞는 버젼을 다운받아야 한다 # getconf LONG_BIT @다운로드를 눌러 페이지를 이동한후 승인을 눌러준 후 환...
  • 웹지기 03-18 12487 0 0 댓글 0
  • 41 [ Server ][ Linux ] CentOS7 cron 사용하기 / 파일 자동 실행 설정
  • 1. cron 설정[code][root@linux]# crontab -l//현재 cron 확인[root@linux]# crontab -e//cron 편집 - vi 와 사용법 같음(예)[root@SRV182 ~]# crontab -l30 04 10 * * /root/cron/account_month.php//매월 10일 04시 30분에 /root/cron/account_month.php를 실행하라[/code](필드 설정)필드번호의미첫번째 필드“분(minute)”을 의미. 0,1,2,3,,,,59분까...
  • 웹지기 09-27 13405 0 0 댓글 0
  • 40 [ Server ][ Linux ] CentOS7 rewrite_mod 설정방법
  • Apache rewrite Module-작성자 : 윤일-:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />Apache 는 추가적으로 사용할 수 있는 유용한 모듈들을 제공합니다.이번강좌에서는Apache의 URL Rewrite 모듈을 사용하기 위한 컴파일,설치와 httpd.conf의 설정방법 그리고 활용방법에 대해 알아보겠습니다.Apache 다운로드 :http://www.apache.org1....
  • 웹지기 09-28 15905 0 0 댓글 2
+1
  • 39 [ Server ][ Linux ] CentOS7 php_screw-1.5 설치 (php 소스 암호화)
  • * 설명php_screw 모듈을 설치하면 php 소스를 암호화 할 수 있다.php 가 설치되어 있는 상태에서 모듈만 추가한다.*소스 다운로드wgethttp://sourceforge.net/projects/php-screw/files/php-screw/1.5/php_screw-1.5.tar.gz*설치[root@ php_screw-1.5]# phpizeConfiguring for:PHP Api Version: 20041225Zend Module Api No: 20060613Zend Extension ...
  • 웹지기 09-27 10281 0 0 댓글 0
  • 38 [ Server ][ Linux ] CentOS7 php 소스 컴파일러 설치
  • php 소스컴파일 설치1. 라이브러리 설치// 컴파일 환경설정에 추가해준 라이브러리 들을 우선적으로 설치 해야 한다.// os를 인스톨 할때 선택해 주었다면 설치할 필요가 없다.// 빠진 것이 있다면 컴파일 실행시 경고메세지와 함께 컴파일이 중지된다.--libjpeg 설치 (다운로드 하는곳)----tar xvfz jpegsrc.v7.tar.gz----cd jpegsrc-v7----./configure --enable-shared --enable-static----make----make insta...
  • 웹지기 09-27 14317 0 0 댓글 0
  • 37 [ Server ][ Linux ][ htaccess ] 아이피 차단 관련 설정
  • * 국내아이피를 제외한 나머지 국가에 대해 아이피 차단시 첨부화일을 참고!* 특정 아이피를 차단할경우.htaccess 파일을 편집(만약 123.45.123.45 를 막는다고 할때) :namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />SetEnvIfNoCase remote_addr 123.45.123.45 go_outOrder allow,denyAllow from allDeny from env...
  • 웹지기 10-01 10286 0 0 댓글 0
  • 열람중 [ Server ][ Linux ] cron사용법(쉘스크립트, 리눅스 파일 자동실행)
  • ## 크론설정(쉘스크립트 실행)---------- ---------- ----------------------------------------------------------------------------------------------------필 드 의 미 범 위---------- ---------- ---------------------------------------------------------------------------------------------...
  • 웹지기 09-11 24513 0 0 댓글 0
  • 34 [ Server ][ Linux ] 계정 용량 확인 / 관리
  • [code]<?php$du=`du -sk`;$save=100; //할당받은 계정용량, 단위 MBytes$du=$du/1000;$result1=$save-$du;$result2=$du;echo "<font size='2' color='#0078FF'>전체 용량 :<font size='2' color='#ff6666'> 100MB</font><br>";ec...
  • 웹지기 09-30 10332 0 0 댓글 0
  • 33 [ Server ][ Linux ] HTTP 1.1 분류 코드표(에러 코드표)
  • HTTP 에러 코드표 (from. 네이버 오픈백과)100 ::: Continue101 ::: Switching Protocols200 ::: OK, 에러없이 전송 성공202 ::: Accepted, 서버가 클라이언트의 명령을 받음.203 ::: Non-authoritavive Information, 서버가 클라이언트 요구중 일부만 정송204 ::: Non Content, 클라이언트 요구를 처리했으나 전송할 데이터가 없음.205 ::: Reset Content206 ::: Partial Conten...
  • 웹지기 09-30 10860 0 0 댓글 0
  • 32 [ Server ][ Linux ] 리눅스 호스팅 서버 관리
  • ■리눅스 호스팅서버 관리************************************************************ 리눅스 호스팅서버 관리************************************************************ 호스팅서비스에 필요한 것들- 리눅스 운영체제- 아파치 웹서버- MySQL 데이터베이스- PHP, Perl 등과 같은 웹프로그래밍언어- 메일서비스 지원을 위한 Sendmail, Qmail, POP, IMAP- Webalizer와 access...
  • 웹지기 09-30 10177 0 0 댓글 0
  • 31 [ Server ][ Linux ] MySQL + Apache + PHP + Zend Optimizer 설치
  • ########################################################### 문서명 : MySQL + Apache + PHP + Zend Optimizer 설치 ## 작성자 : 임희 ## 작성일 : 2003 년 12 월 23 일 (화) 13:00 ## 수정일 : 2004 년 03 월 05 일 (금) 17:00 (수정) ## 수정일 : 2005 년 05 월 21 일 (토) 10:00 (수정) ## 작성서버: KERNEL - 2.4.23 / CPU : P-III 1G /...
  • 웹지기 09-28 12486 0 0 댓글 0
  • 30 [ Server ][ Linux ] 리눅스 파일만들기, 파일옮기기,폴더옮기기, 복사하기, 화면 지우기
  • 리눅스 파일만들기, 파일옮기기, 복사하기, 화면 지우기mv - 이름변경 및 이동을 담당mv 원본파일 대상파일예를들어 test.txt라는 파일이 있다고 치고 나는 /home 디렉토리로 옮기고 싶다면mv test.txt /home로 옮길수 있다.만약 mv test.txt test1.txt라고 한다면 기존의 파일은 사라지고 이름이 변경되게 된다.cp - 파일이나 디렉토리를 다른파일 또는 다른 디렉토리로 복사를 수행한다.cp 원본파일 대상파일cp test.txt /home 이런식으로 사용한다면 test....
  • 웹지기 09-28 12443 0 0 댓글 0
  • 29 [ Server ][ Linux ] httpd.conf 서버 디렉토리 보이게, 안보이게 설정
  • httpd.conf 파일에서 아파치 서버 디렉토리의 폴더및 파일을 보여주거나, 파일 및 폴더를 보여주지않고 오류를 출력할 때 설정 방법. <Directory "D:/AutoSet9/public_html"> #index파일이 없을 때 디렉토리를 감추고 에러를 출력 Options FollowSymLinks #index파일이 없을 때 디렉토리를 보여줌 Options Indexes FollowSymLinks </Di...
  • 웹지기 11-26 10486 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
21,328
어제
25,733
최대
43,745
전체
10,602,943

그누보드5
Copyright © funyphp.com. All rights reserved.