돌공공돌

Server Backup 하기~🐣🐤🐥 본문

IT/라즈베리파이

Server Backup 하기~🐣🐤🐥

오로시 2020. 6. 7. 00:21

백업의 필요성은 아무리 강조해도 지나치지 않습니다.

 

한번 파일을 날려보시면 뼈저리게 느끼실 거에요. 다들 몬지 알죠?

 

백업 시 고려할 점

   언제 백업을 할 것인가?

       - 언제? 얼마나 자주? 얼마나 오래 보관?

 

무엇을 백업할 것인가?

 

       - 사용자 데이터 (홈디렉토리)

       - DB 데이터 (시스템 DB , 사용자 DB)

       - 시스템 설정 파일 (각 서버프로그램의 CONF 파일 등)

 

어디에 백업할 것인가?

 

       - 내부 백업 (여유공간이 있는 디렉토리나 외장하드)

       - 외부 백업 (자동전공/수동업로드)

 

어떻게 백업할 것인가?

 

       - 압축 파일로 백업 : tar -czpf

       - 비압축 저장 : cp-R, tar -cpf

       - 증분 백업 :rsync

 

자 본격적으로 서버 내용을 백업하도록 해볼게요.

 

백업 절차 (root로 수행해야 합니다.)

 

       - 백업 준비 : 백업용 디렉토리를 만들고, 권한 조정을 조정합니다.

mkdir /backup
chmod 700/backup

현재 경로는 /root 이어야 합니다. 

 

       - 백업 스크립트 작성

 

            - 사용자 데이터 압축백업 : tar

 

            - 사용자 DB 백업 : mysqldump

 

            - 일주일 지난 백업파일 삭제 : find

 

vim backup.sh
  1 #!/bin/bash
  2 tar -czpf /backup/userdata_`date +%Y%m%d%H%M%S` . tgz /home 1>>/backup/log_`date +%Y%m%d` 2>>error_log_`date +%Y%m%d`
  3 mysqldump -uroot -p1234 userdb |gzip > /backup/userdb_`date +%Y%m%d%H%M%S`.sql.gz
  4 find /backup/ -type f -mtime +7 | sort | xargs rm -f

 

     -백업 스크립트 테스트

ls -l
./backup.sh
ls -l /backup

ls -l /backup 을 통해, 백업 파일이 생성됨을 확인해야 합니다.

 

백업 스크립트 자동 실행 등록 --> cron

 

crontab -e

저는 vim 을 사용하니 choose 2 를 합니다. 

 

 

에디터로 열린 파일 맨 밑으로 가셔서 어느시간에 자동으로 백업을 실행 할 것인지. 설정해 주어야 합니다.

 

위의 그림에 맞춰 원하는 시간에 백업 설정 시간을 맞추시고요.

 

저는 매일 오전 4시에 자동으로 백업하도록 설정 해보겠습니다. 

0 4 * * * /root/backup.sh 1>/dev/null_2/dev/null

 

만약 오후 4시 즉 16시에 백업하기를 원하신다면, 아래와 같이 해주시면 됩니다.

0 16 * * * /root/backup.sh 1>dev>null 2>/dev/null

 

Comments