티스토리 뷰

반응형

참조 이트


서버를 사용하다 보면 원치 않게 데이터를 지우는 경우가 있을듯 하여.. 아예 시스템 전체를 백업하는 방식을 찾아보았다.


rsync를 이용하거나, dump, dd를 사용한 여러가지 백업 방법이 있지만, 나는 가장 기본적인 tar 압축으로 백업과 복원을 진행하겠다.



백업



1. 터미널 창을 키고 root 로 이동.


cd /


2. root 폴더 밑(전체)의 데이터를 모두 백업한다. 


※다만, tar로 압축할 자신파일과, 백업할 필요가 없는(RAM에 저장되거나 tmp파일로만 남아있거나, 외부저장소(USB 등)의 자료이거나, 실행중인 프로세스에 대한 자료들) 즉, proc폴더, tmp폴더, mnt폴더, dev폴더, sys폴더, run폴더, media 폴더 등은 필요가 없고, 확장자가 .cache, .gvfs 등의 자료들도 필요 없을 것이다. 

이러한 부분들은 백업할 때 --exclude 설정으로 제외시켜 주자.

자세한 내용이 필요하면 -> 링크


또한 tar 압축 방식은 여러가지이다.


tar 명령어는 몇 가지가 있다.

-c : 새 압축 파일을 만듦(압축하기)


-x : f 옵션에 의해 지정된 압축 파일을 현재 디렉터리에다 풀기


-v : 자세한 정보 표시 -> 모든 내용이 커맨드 창에 뜸


-p : 나중에 복원(압축 풀기)할 때를 대비하여, 현재의 퍼미션을 저장해 놓음


-z : gzip 방식으로, 대중적이다. 확장자는 .tar.gz 또는 .tgz형식. 속도는 상대적으로 빠르나 압축률은 상대적으로 낮은 편.


-j : bzip2 방식으로, 확장자는 .tar.bz2 또는 .bz2 형식. 속도는 상대적으로 느리지만 압축률은 상대적으로 높은 편.


-f <파일이름> : 파일이름으로 압축 실행


※ -z 명령어와 -j 명령어는 둘 중 하나만 쓸 수 있다.


나는 속도가 빠른 gzip 방식으로, root 디렉터리 안에 backup.tar.gz 이름으로 압축하도록 하겠다.


sudo tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --exclude=/proc --exclude=/mnt 

--exclude=/sys --exclude=/tmp 

--exclude=/dev --exclude=/media --exclude=/run


복구


1. root 디렉터리로 이동


cd /


2. 압축을 풀어 복구


sudo tar -xvpzf backup.tar.gz -C /


-C <디렉터리> 명령어 : 압축을 풀 때, 압축파일이 내가 원하는 위치(root 디렉터리)에 존재하지 않아도 디렉터리를 지정할 수 있다. 가령, /home/사용자이름 디렉터리에 backup.tar.gz 파일이 있더라도 '-C /' 만 입력하면 root 디렉터리에다가 풀 수 있다.



끝.

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함