반응형
상세https://24hours-beginner.tistory.com/210?category=823198
실행할 작업(스크립트를 생성)
vim [name].sh
#! bin/sh #! 스크립트를 실행할 때 dash쉘을 이용한다
cd ~/works/backup/
DATE=${date +%Y%m%d}
# 지정 DB를 ${DATE}_db.sql로 저장
mysqldump --defaults-file=".my.cnf" [DATABASE_NAME] > ${DATE}_db.sql
# 생성한 파일을 압축 tar -zcvf(압축형식) [압축 결과물 이름] [압축할 파일]
tar -zcvf ${DATE}_db.tar.gz ${DATE}_db.sql
# 압축 했으니 sql파일 삭제
rm ${DATE}_db.sql
crontab에 등록 크론탭 편집기로 이동
crontab -e
생성한 script 등록
# 분(0~59) 시간(0~23) 일(1~31) 월(1~12) 요일(0~7) 0=sunday # */1 * * * * => 매분 실행 # 0 1 * * * => 매일 01시에 실행 [a b c d e] ~/works/backup/[name].sh # 3일이 지난 파일 삭제 # 해당 경로에 있는 .tar.gz 확장자이고 3일이 지난 파일 삭제 # -mtime +n n일이 지난 -mmin +n n분이 지난 0 1 * * * find ~/works/backup/ -name "*.tar.gz" -mtime +3 -delete
+) 잡다한 에러
- script의 #!가 제대로 인식되지 않음script파일의 #!가 제대로 인식되지 않아 crontab의 sh파일이 정상적으로 실행되지 않는 문제가 있었다.위와 같이 직접 실행할 쉘을 지정해서 해결 함.
[a b c d e] ~/works/backup/[name].sh [a b c d e] dash ~/works/backup/[name].sh
- 스크립트의 DATE 에러나한테 일어난 에러는 아니지만 {date +%Y%m%d}로 인해 실행이 안되는 사람도 있다고 본적이 있다.위와 같이 '\'를 추가하면 된다고 함.
DATE = {date + %Y%m%d} DATE = {date + \%Y\%m\%d}
반응형
'프로젝트 설정 > 기타' 카테고리의 다른 글
[Token] (0) | 2021.07.19 |
---|---|
[ubuntu] 예약/반복 작업 (crontab/Shell Script) (ubuntu/Linux) (0) | 2021.07.19 |
[supervisor ] 10분만에 익히는 supervisor 설치와 사용법 (0) | 2021.06.08 |
[암호화] bcrypt로 암호화 시작하기 (python) (0) | 2021.04.14 |
HTTPS / SSL / TLS (0) | 2021.03.09 |