카테고리 없음

ubuntu 에서 mysql 자동 백업

seongjin08 2023. 4. 13. 16:10

 

쉘 스크립트 파일 생성

$ vi backup.sh

DATE=`date +"%Y%m%d"`
PRE_DATE=`date --date '3 days ago' +"%Y%m%d"`
DB_USER="root"
DB_PASS="0000"
DB_NAME="root"
BACKUP_FILE="_backup.sql"


mysqldump -u$DB_USER -p$DB_PASS $DB_NAME > ${DATE}${BACKUP_FILE}

#         비밀번호     포트 넘버                        사용자 ID  IP 주소    저장할 경로
sshpass -p 0000 scp -P 3000 ./${DATE}${BACKUP_FILE} root@127.0.0.1:/F:copysite\\blacktoon\\

rm ./${DATE}${BACKUP_FILE}

 

작성 완료 후 esc 

:wq!

enter

 

잘 실행 되는 지 확인 

$ sh backup.sh

 

이제 crontab 을 사용하여 일정 시간 마다 반복 시킬 것이다.

crontab 편집

$ crontab -e

 

* */3 * * * sh /home/root/backup.sh
_ ___ _ _ _
|  |  | | |_ 요일 (0 - 6) (0:일요일,1:월요일,2:화요일 ...)
|  |  | |___ 월(1 - 12)
|  |  |___ 일 (1 - 31)
|  |___ 시(0 - 23)
|___ 분(0 - 59)


* * * * * sh /backup.sh  : 매분,매시간,매일,매월,매요일  1분마다 실행

0 3 * * * sh /backup.sh  : 0분,3시,매일,매월,매요일  3시마다 실행

*/10 * * * * sh /backup.sh : 10분 간격으로 실행

crontab 리스트 확인

crontab -l

 

등록 후 재 실행

sudo service cron restart

 

$ vi /etc/rsyslog.d/50-default.conf

 

cron.*  앞에 주석 처리를 풀어 주고 저장한다.

 

$ vi /var/log/cron.log

 

로그에서 CMD 에러가 난다면 

 

$ sudo apt-get install -y postfix

 

설치하면 해결 된다.