특정 작업을 하다가 귀찮아서 자동 백업을 찾아 보았습니다.
일단 기본적인건 백업을 할 셀을 만들고 그걸 cron에 넣어서 스케줄링을 하면 되는걸로 나오더군요

일단 제가 만든 쉘을 아래와 같습니다.

# Duraboys_backup.bash
----------------------------------------
#!/bin/bash
BACKUP_DIR=/백업 받을 디렉토리 경로
DATE=$(date +%Y%m%d)
rm -rf $BACKUP_DIR/Dura_DBbackup_jinju05-*.sql
rm -rf $BACKUP_DIR/Dura_WWWbackup_jinju05-*.sql

mysqldump -u아이디 -p패스워드 디비명 > $BACKUP_DIR/Dura_DBbackup_jinju05-$DATE.sql

tar -cvzf 백업받을 디렉토리 경로 /Dura_WWWbackup_jinju05-$DATE.tar.gz /home/백업할 디렉토리경로

이렇게 만들어 두고 일단 쉘을 돌려서 정상적으로 동작하는지 확인을 합니다.
확인이 되고 나면 Cron에 등록 을 해줍니다.
20  2     *  *  7  /home/backup/Dura_backup.bash

이렇게 만들어 두었습니다.


그리고 한주가 지나서 잘 동작하는지 확인을 했더니만 백업은 되었는대 다른 경로에 파일이 들어 가 있더군요...
곰곰히 생각을 해보았지요

문제는 덤프 받을 경로 백업 받을 경로를 지정하지 않아서 였습니다.
위에는 수정된 쉘이긴 한대요

가령 tar경우아래와 같이 만들어 두고 쉘을 테스트 했더니 잘 동작을 하였습니다
tar -cvzf Dura_WWWbackup_jinju05-$DATE.tar.gz /home/백업할 디렉토리경로

문제는 이놈이 루트 계정으로 동작을 하다 보니 tar만들어서 담을곳을 제가 지정해 주지 않아서
루트에 파일이 만들어져 버린것입니다.

사소한 부분인대 이런 부분들이 나중에 잘못되어 버리면 실수로 rm 이라도 잘못했으면
아찔한 결과가 나올뻔 했습니다.

+ Recent posts