리눅스:cron(자동작업 등록): 두 판 사이의 차이
잔글 (→작성법) |
|||
88번째 줄: | 88번째 줄: | ||
===작성법=== | ===작성법=== | ||
<code>분 시 일 월 요일 명령</code> 형태. | <code>분 시 일 월 요일 명령</code> 형태. | ||
<br /> | |||
분에 */5 가 들어가면 매 5분마다 실행한다는 의미이다. | |||
분에 15, 45를 두면 매 15분, 45분마다 실행.<br /> |
2022년 2월 23일 (수) 16:44 판
리눅스를 위한 문서틀 틀:리눅스
- 리눅스:명령어
- 리눅스:권한관련
- 리눅스:편의기능
- 리눅스 기반 OS
- 리눅스:패키지 관리
- 다양한 패키지
- 리눅스:쉘 스크립트
cron
관련 디렉터리
/etc/crontab에서 daily, weekly 등의 실행시간을 변경할 수 있다.
/etc/ | |
---|---|
cron.d | |
cron.hourly | |
cron.daily | 매일 실행되는 cron들을 모아둔다. |
cron.weekly | |
cron.monthly |
해당 디렉터리 자체를 크론으로 실행시키는데, 해당 디렉터리가 크론에 등록되어 있지 않으면 실행이 되지 않기도 한다.
크론 파일 작성법
경험상, 파일을 작성하고 그 파일 자체를 crontab에 올려버리는 게 간편하다.
mysql 백업을 예시로 설명한다.
과정 | 예시 | 방법 |
---|---|---|
파일 만들기 | nano mysql 따위로 파일을 작성한다.
문법의 사용은 우측의 예시를 보면 대강 유추할 수 있을 터. |
#!/bin/bash
#위는 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
과정 | 설명 | 방법 |
---|---|---|
설치 | 설치되어 있지 않은 경우 사용. | apt-get install cron |
등록 | -e 옵션을 사용한다.
처음 실행하면 아무것도 작성되지 않은 파일이 열린다. |
crontab -e |
등록내역 보기 | -l 옵션 | crontab -l |
작성법
분 시 일 월 요일 명령
형태.
분에 */5 가 들어가면 매 5분마다 실행한다는 의미이다.
분에 15, 45를 두면 매 15분, 45분마다 실행.