Live Brilliant

리눅스 tar 분할 압축 방법 본문

개발은 핵찜이야/리눅스

리눅스 tar 분할 압축 방법

주인정 2012. 4. 13. 17:36

1. 먼저 압축하고자하는 디렉토리로 이동한다..
# cd /var/www

2. 다음과 같은 명령으로 압축을 실행한다.
# tar -cvf - 압축할디렉토리 | split -b 1024m - 압축파일.tar
압축 예(백그라운드 실행) : nohup tar -cvf -  압축파일 | split -b 1024m -   압축파일.tar 1> /dev/null 2>&1 &

폴더의 권한까지 1기가로 압축을 하는 명령어입니다..
단순히 tar로 묶어줍니다..
(그냥 묶는것이 속도가 더 빠릅니다.그래서 저는 압축을 안하고 묶었습니다.)

만약 압축까지하려면 다음과 같은 명령어를 넣어줍니다.
(디렉토리의 권한까지 1GB로 분할을 하는 명령어 입니다.)
# tar cvzf - 압축할디렉토리 | split -b 1024m - 압축파일.tar.gz
1024m = 1G

3. 압축파일은 다음과 같은 형태로 저장되게 됩니다.
압축파일.taraa
압축파일.tarab
압축파일.tarac
뒤에 aa,ab,ac...가 붙게 됩니다..
혹은
압축파일.tar.gzaa

압축파일.tar.gzab
압축파일.tar.gzac


4. 압축풀기
#cat 압축파일.tar* | tar xvf -
혹은
#cat 압축파일.tar.gz* | tar xvzf -

--------------------------------------------

tar: 이것은 tar 아카이브처럼 보이지 않습니다.. 이런 에러가 나오면..

cat 압축파일.tar.gza* | (cd /;tar -xzvpf - )
하면 됩니다.

풀 때 (cd /;tar -xzvpf - ) 중의 /; 하면 / 디렉으로 옮겨 가서 풀리게 됩니다.
만약 /temp 하면 temp내에 풀어 놓게 됩니다.

--------------------------------------------

여러개의 tar.gz 파일들을 압축을 풀어야 할경우

tar -zxvf *.tar.gz 등의 방법으로 풀게 되면, 에러가 발생합니다.

이 경우에는 find 를 이용하시면 쉽게 푸실수 있습니다.

find . -name "*.tar.gz" -exec tar zxvf {} \;


'개발은 핵찜이야 > 리눅스' 카테고리의 다른 글

네임서버 추가(수정)하는 법  (0) 2012.04.13
리눅스에서 특정 IP 접근막기!!  (0) 2012.04.13
서버 접속자 파악  (0) 2012.04.13
crontab 명령어  (0) 2012.04.13
wait_timeout 문제  (0) 2012.04.13
Comments