리눅스 자동 백업

!/bin/bash

dir=`date +%Y%m%d-%H`

tar cvf /backup/$dir-home.tar /home/

tar cvf /backup/$dir-data.tar /mysqldata

위 내용을 vi 에디터를 이용해 파일로 만든후 etc/cron.daily에 넣어주면 됩니다.

아 물론 실행은 되야 하니 chmod +x 화일명 해주고요~


위 내용은 tar로 화일을 묶는데 하나는 home폴더의 모든화일들과 sql데이타 입니다.

그럼 이것이 매일매일 실행이 되면서 자동으로 tar로 묶어서 한쪽 폴더에 오늘날짜로 차곡차곡 쌓이게 되지요!

cat /etc/crontab

을 해서 보면

02 4 * * * root run-parts /etc/cron.daily

이런식으로 설정이 되어있는데 이것은 매일 4시에 기해서 cron.daily폴더를 실행시키지요~

시간을 바꾸고 싶다면 이곳에서 바꾸시면 된답니다.

 

 

tar를 이용하여 백업하기

 

(1) 전체백업

   1) tar cvfp home.tar /home

       => /home 디렉토리를 퍼미션을 그대로 유지하면서 home.tar라는 파일로 묶는다.

   2) tar cf /dev/st0 /home

       => /home디렉토리를 SCSI 테이프장치인 /dev/st0에 백업한다.

   3) tar zcf /dev/st0 /home

       => /home디렉토리를 SCSI 테이프장치인 /dev/st0에 압축해서 백업한다.

   4) tar zxf /dev/st0

       => SCSI 테이프장치인 /dev/st0 에서 압축을 풀어 현재 디렉토리에 푼다.

   5) tar -g list -cvpf home.tar /home

       => -g는 증분백업(Increment backup)에 사용하는 옵션으로 /home 디렉토리를 퍼미션을 그대로

         유지하면서 home.tar로 묶는 것은 1번 예제와 같지만 list라는 백업시에 저장되는 파일이나

         디렉토리들을 목록화하는 파일을 생성한다. 처음시도할 경우에는 첫번째 예제와 같은 파일

         로 생성된다. 그러나 그 다음 시도시에는 list파일과 비교하여 추가된 것만 백업하므로 백

         업하여 생성되는 파일명을 같게 해서는 안된다.

 

(2) 증분백업

   1) tar -g list -cvpf home1.tar /home

       => 기존의 list파일을 내용을 보고 그 이후에 변경되거나 추가된 파일들을 home1.tar로 백업

         한다. list파일을 편집기로 열어보면 파일의 용량을 숫자로 관리한다. 이 값을 비교하여

         변화시에 증분백업을 시도한다. 따라서, 이 파일을 삭제되면 전체백업을 한다

저작자 표시
신고