ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [리눅스] 백업과 복구
    서버/리눅스 2017. 3. 27. 19:43

    #전체 백업

    #>tar cvfJ <tar_name> -g <backupList_name> <path>

        tar저장될경로   백업경로,이름이     만들대상

    저장될 파일      

    -g --listed-incremental 백업


    물론 J(.xz)말고도 j나 z를 사용해도 됩니다.


    #백업        option cvfJ

    #>tar cvfJ /backup/fullbackup.tar.xz -g /backup/backuplist /root/data




    root디렉터리 하위디렉터리인 data를 압축한 상태입니다.


    #경로 찾기        option tvf

    만약 경로를 까먹으셨으면 tar정보를 tvf옵션을 사용하셔서 확인합니다.

    #>tar tvf /backup/fullbackup.tar.xz


    아카이브를 만들떄 만들대상에 경로정보(/root/data)를 이렇게 해주셨다면 / (최상위로) 가셔서 풀어주셔야되고

    상대경로로 만드셨다면 만들어진 경로로 가셔서 풀어주셔야 합니다

    이유는 아카이브를 생성할 때 경로까지 포함되기 때문입니다. 절대경로로 생성하셨으면 절대경로의 꼭대기 최상위 / 에서 푸셔야 합니다.


    만약 상대경로인 root디렉터리에서 아카이브 폴더에서 만드셨다면 경로도 상대경로로 저장됩니다.

    따라서 상대경로로 생성하셨으면 풀 경로(root의 홈디렉터리)로 이동하셔서 아카이브 해제하시면 됩니다.



    #복구            option xvfJ

    #>tar xvfJ /backup/fullbackup.tar.xz -g /backup/backuplist


    복구는 안의 내용까지 다 복구 시킵니다.


    용량이 좀 작으면 쉽게 백업이 되지만 용량이 점점 커지다보면 전체백업시 시간이 오래걸립니다.

    따라서 처음 전체백업을 해주시고 그다음부터 증분백업이 시작됩니다.




    #증분백업


    #백업

    #>tar cvfJ <tar_name> -g <backupList_name> <path>

    >>왜 ..사용법이 같지? >> 이유는 전체백업된 backuplist를 참조해서 달라진 내용만 백업합니다.

    >> 만약 다시 전체백업을 하고싶으면 backuplist를 새로 만들어주시면 됩니다. 

    (만드는법은 backup리스트의 이름을 다르게 쓰면 새로운 backuplist가 만들어집니다.)




    증분백업들은 바뀐 파일들만 저장되기 때문에 전체백업보다 확실히 용량이 작습니다.



    #복구 전체백업부터 만들어진 증분백업파일을 순차적으로 복구하면 됩니다.


    백업리스트 이름은 날짜형태로 만드는 경우가 많으며 마지막변경이 원하는 백업파일에서 멈출 수 있습니다.

    백업리스트에 저장된 내용은 만들어진 백업파일에 대한 내용이다.


    >> 전체백업이 실행될때는 전체백업에대한 경로와 모든 파일의 정보이고

    >> 증분백업이 실행될때는 백업리스트에 참조해서 전체백업와 지금 파일을 대조한후

    바뀐내용을 저장하고 실제 파일들은 생성될 증분백업파일에 저장됩니다.





    #백업이 적용되는 곳

    사용자와 연관이 있는 group파일이나 user파일 passwd ..들이 될 꺼같습니다.

    user가 생성되고 사라지고 생성되는게 많은 서버에서는 특히 백업을 신경쓰는 구간이 되겠네요.


    사용자를 관리하는 /etc /home 디렉터리 2개만 백업하겠습니다. 

    #>tar cvfJ /backup/fullbackup.tar.xz -g /backup/backuplist /etc /home ..


    2...개만 했는데도 보던 용량이랑 확연히 달라졌습니다.


    user를 3명 추가해봤습니다.


    복구해보겠습니다.

    #>tar xvfJ /backup/fullbackup.tar.xz -g /backup/backuplist

    알고있던 passwd와 group home디렉터리말고도 수많은 파일들이 변경되고 생성되었다는 것을 알 수 있었네요


    but 그러나 저희는 /etc와 /home만 복구했기때문에 메일함은 살아있습니다.

    딱히 메일함은 다시 유저를 생성하는데 문제가 되지않지만 백업을 제대로 해놓으려면 

    >> 연관된 디렉터리를 전부 백업해놓는게 좋을 것같습니다.


    복구파일과 원본파일을 비교하기 위해서 아카이브압축파일을 원하는 경로에 풀 수 있습니다.


    #복구 디렉터리 지정    option -C <path>

    #>tar xvfJ /backup/fullbackup.tar.xz -g /backup/backuplist -C <path>



    #>tar xvfJ /backup/fullbackup.tar.xz -g /backup/backuplist -C / : 최상위 루트지점에 백업파일이 복구됩니다.


    이 -C옵션의 문제점은 쉘 스크립트에 가서 문제가 생기는데 경로를 어떻게 지정하느냐에 따라서 삭제가 안되고 추가만 되는 경우가 발생합니다.


    제일 좋은 방법은 상대경로가 아닌 절대경로를 사용하는 방법이 되곘네요.





    VM ware에서는 백업보구기능인 snap샷 기능이 있습니다.





    댓글

Designed by Tistory.