쉘 스크립트 파일 생성
$ 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
설치하면 해결 된다.