: 이렇게 해보시죠.
:
: --------- backup.sh -----------
: #!/usr/bin/expect
:
: spawn bash -c "./db.sh"
: expect -re "Enter password:"
: sleep 0.2
: send "비밀번호\r"
: interact
:
: ------- db.sh ----------
: #!/bin/bash
:
: DIR=/var/db
: FILE=DB
:
: SQL=$FILE-`date +%Y_%m_%d_%H%M%S`.sql
:
: rm -rf $DIR/$FILE-*.sql
:
: mysqldump -u root -p test > $DIR/$SQL
:
: 이렇게 하면 비밀번호를 자동으로 입력합니다. 백업이 되지요.
결과는 /var/backup/ZEROBOARD-20050725.sql
이렇게 나올 껍니다.
System 에 따라 약간 틀리지만, 수정해서 맞추어 써보세요..
crontab -e 에는
30 10 * * * /경로명/backup.sh
라고만 하면 됩니당 ^^
전 로그 파일도 백업 파일도 전부 스크립트로 짜서 관리 합니다..
그게 나중에는 좋아요 ^^
(수정)
복잡해 하실꺼 같아서 좀더 간단하게 백업 하는 스크립트를 소개 합니다.
-----backup.bash------
#!/bin/bash
BACKUP_DIR=/var/backup
FILE_PFX =DB 이름
DATE=$(date +%Y%m%d)
rm -rf $BACKUP_DIR/$FILE_PFX-*.sql
mysqldump -uUSER -pPASS DB이름 > $BACKUP_DIR/$FILE_PFX-$DATE.sql
간단히 만들어 보았습니다.
백업데이타는 MY_DB-20050725.sql 이런식으로
/var/backup 밑에 생깁니다.
(당연히 /var/backup 디렉토리가 없으면 만들어야 겠죠? ^^)
전체 모든 db를 백업할때는 --all-databases > 파일명 하시면 됩니다.
BACKUP_DIR 은 백업받고 싶은 디렉토리 이구요..
FILE_PFX 은 저장할 파일 이름의 프리픽스 정도..
날마다 백업된걸 가지고 있고 싶으시면(충분한 하드용량이 된다면)
rm -rf ........ 이줄은 주석처리해도 무방..
mysqldump 다음은 알죠? 사용자명과 패스워드 DB명..
/etc/cron.daily 밑에 복사해주시고..
실행 권한 주시면 됩니다. ^^
또는
위 스크립트 파일을 만들어 주시고,
crontab -e 에서
30 10 * * * /절대경로/backup.bash
이렇게 하시면 됩니다.
'Infrastructure' 카테고리의 다른 글
시간동기화가 안 됩니다 (0) | 2010.02.10 |
---|---|
LinM 업데이트 (0) | 2010.02.10 |
Crontab 설정 하기 (0) | 2010.02.09 |
Time Server Operation (0) | 2010.02.05 |
sis.or.kr - 윈도우 보안 총정리 (0) | 2010.01.29 |