리눅스:cron(자동작업 등록)
편집하기
둘러보기로 이동
검색으로 이동
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
{{리눅스}} ==cron== ===관련 디렉터리=== /etc/crontab에서 daily, weekly 등의 실행시간을 변경할 수 있다. {| class="wikitable" !/etc/ ! |- |cron.d | |- |cron.hourly | |- |cron.daily |매일 실행되는 cron들을 모아둔다. |- |cron.weekly | |- |cron.monthly | |} 해당 디렉터리 자체를 크론으로 실행시키는데, 해당 디렉터리가 크론에 등록되어 있지 않으면 실행이 되지 않기도 한다. ===크론 파일 작성법=== 경험상, 파일을 작성하고 그 파일 자체를 crontab에 올려버리는 게 간편하다. mysql 백업을 예시로 설명한다. {| class="wikitable" !과정 !예시 !방법 |- |파일 만들기 |nano mysql 따위로 파일을 작성한다.(혹은 그냥 기존 파일.) 문법의 사용은 우측의 예시를 보면 대강 유추할 수 있을 터. |#!/bin/bash <nowiki>#</nowiki>위는 bin/bash밑에 있는 스크립트를 사용한다는 선언 mysql_path='/usr/bin/mysql/' #mysql 실행파일이 있는 경로 지정 month=$(date +%Y%m%d) #제목에 사용할 서버현제날짜를 구함 fileName="backup_wikisql_${month}.sql" #저장할 파일이름 설정1 #파일 저장 경로 지정 대부분 홈디랙토리에 생성 savePath="/home/id8436/Downloads/" /usr/bin/mysqldump -u root my_wiki > ${savePath}${fileName} #dump받아 폴더에 저장 |- |권한부여 |ls -l 명령으로 다른 파일들의 권한설정을 보고 chmod 를 통해 파일권한을 통일시킨다. |chmod 755 파일명 sudo chown root:root 파일명 |- |확인 |프롬프트에 파일경로를 올렸을 때 아무 것도 안뜨면 이상이 없는 것. 이상이 있는 경우엔 에러가 뜬다. |/etc/cron.daily/mysql 이후 크론이 작동하는 것을 확인한다. |} =crontab= {| class="wikitable" !과정 !설명 !방법 |- |설치 |설치되 처음 실행하면 아무것도 작성되지 않은 파일이 열린다. |crontab -e |- |등록내역 보기 | -l 옵션 |crontab -l |} ==작성법== <code>분 시 일 월 요일 명령</code> 형태. === 시간에 대하여 === {| class="wikitable" !의도 !설명 !방법 |- |일정 간격 실행 |예컨대 5분마다 한 번 실행되게 한다면 다음과 같이 작성한다. |<syntaxhighlight lang="bash"> */5 * * * * 명령 </syntaxhighlight> |- |특정 시간 실행 |특정 시간마다 실행되게 하려면 다음과 같이 작성. |매 시간 15분(8시15분, 9시15분...)<syntaxhighlight lang="bash"> 15 * * * * 명령 </syntaxhighlight>매 시간 15분, 45분에 실행<syntaxhighlight lang="bash"> 15, 45 * * * * 명령 </syntaxhighlight> |} 분에 */5 가 들어가면 매 5분마다 실행한다는 의미이다. 분에 15, 45를 두면 매 15분, 45분마다 실행. === 명령에 대하여 === {| class="wikitable" !의도 !설명 !방법 |- |파이썬 파일 실행 |.py 파일을 실행하기 위해 파이썬을 실행해주고 옵션으로 경로를 준다. 파이썬 파일 안에 한글이 들어가 있다면 encoding을 해주어야 한다. encoding은 파일 가장 상단에 <code># -*- encoding: utf-8 -*-</code> 을 넣어주면 된다. |<syntaxhighlight lang="bash"> * * * * * sudo python /home/.../file.py </syntaxhighlight>sudo는 해당 파일의 권한에 상관없이 실행하기 위함. |}
요약:
학교의 모든 지식. SMwiki에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
학교의 모든 지식. SMwiki:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
이 문서에서 사용한 틀:
틀:리눅스
(
편집
)
둘러보기 메뉴
개인 도구
로그인하지 않음
토론
기여
로그인
이름공간
문서
토론
한국어
보기
읽기
편집
원본 편집
역사 보기
더 보기
검색
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보