백업 명령어 및 압축 명령어
▪ cpio 명령어
- # cpio [option] [device_name]
- # cpio [option] [file_name]
option |
의미 |
|
|
-c |
ASCII 형태의 헤더 정보를 읽거나 기록 |
-d |
복사 중 필요에 따라 디렉토리를 생성 |
-i |
표준 입력으로 정의된 cpio 형식의 파일을 읽어와 원래의 파일과 디렉토리로 복구 |
-o |
하드디스크의 데이터를 cpio 형식의 파일로 데이터 백업 |
-p |
디렉토리의 데이터를 다른 디렉토리로 복사 |
-t |
-i 옵션과 함께 사용, cpio 파일에 포함된 디렉토리와 파일의 목록 출력 |
-u |
무조건 복사 |
-v |
cpio의 실행시 처리하는 파일과 디렉토리의 목록 출력 |
디렉토리 내의 파일들을 백업 |
# ls | cpio -ocv > backup.cpio // 현재 디렉토리의 파일들을 backup.cpio 파일로 백업 # ls backup.cpio // backup.cpio 파일이 정상적으로 생성되었는지 확인 # cpio -it < backup.cpio // backup.cpio 파일에 기존 파일들이 존재하는지 확인
|
backup.cpio 파일을 현 디렉토리에 복원 |
# mkdir a // 복구를 위한 새 디렉토리 생성 # cd a // 새 디렉토리로 이동 # cpio -ivc < ../backup.cpio // 현재 디렉토리의 파일들을 backup.cpio란 파일로 백업
** 특정 파일만 복원 # cpio -ivc "in* < ../backup.cpio // in으로 시작하는 파일만 복구
|
▪ dd 명령어
- 지정한 블록 크기만큼 파일을 복사할 때 사용하는 명령어
- # dd [option] [변수=값]
- 시스템 전체를 테이프 장치로 백업 : # dd if=/ of=/dev/st0
- 파티션을 테이프 장치로 백업 : # dd if=/dev/sda3 of=/dev/st0
- 하드 to 하드 : # dd if=/dev/sda of=/dev/sdb
▪ gzip/gunzip 명령어
- gzip : 압축하는 명령어 / gunzip(=gzip -d) : 압축 푸는 명령어
- # gzip [option] [file_name]
option |
의미 |
|
|
-n |
n은 1부터 9사이의 숫자를 지정, 1이 가장 빠르지만 압축율은 낮음 |
-c |
압축 결과를 출력하고, 원본 파일은 그대로 둔다. |
-d |
압축 해제 옵션, gunzip과 같음 |
-f |
강제 압축 |
-l |
압축 파일의 정보 출력 |
-r |
디렉토리를 지정 시 디렉토리에 포함된 모든 파일 압축 |
-t |
압축 파일 테스트 |
-v |
자세한 정보 출력 |
-h |
도움말 출력 |
-V |
버전 정보 출력 |
- gzip에는 파일을 묶는 기능이 없어 -r옵션으로 디렉토리를 압축하면 디렉토리 내의 파일들이 각각 gz파일로 압축된다.
- # gunzip [option] [file_name]
option |
-l : 압축 파일의 정보 출력 -r : 디렉토리를 지정 시 디렉토리에 포함된 모든 파일 압축 해제 -t : 압축 파일 테스트 -v : 자세한 정보 출력 -h : 도움말 출력 -V : 버전 정보 출력 |
▪ bzip2/bunzip2 명령어
- gzip보다 압축률이 좋음 ( -r 옵션은 없음 )
- bunzip2 (=bzip2 -d)
▪ compress / uncompress
- 압축률이 가장 낮음
- uncompress(=compress -d)
[※ tar]
- # tar cvfz [file_name] : tar로 묶고 결과를 gzip으로 압축
- # tar cvfj [file_name] : tar로 묶고 결과를 bzip2로 압축
▪ tar 명령어
- 여러개의 파일을 하나로 묶는 명령어
- # tar [option] [생성할 tar 파일] [묶을파일]
- # tar [option] [tar 파일] -C [풀어줄 위치]
option |
의미 |
|
|
-c |
정의한 파일 이름으로 파일을 묶음 |
-f |
옵션 뒤에는 tar 파일명을 명시하거나, 디바이스를 명시 |
-v |
verbose 모드로 자세한 내용 출력 |
-t |
tar 파일의 내용을 확인 |
-x |
tar 파일에서 정의된 파일을 추출, 정의하지 않으면 전체 파일 추출 |
-C |
tar 파일이 해제될 위치 지정 |
-g |
--listed-incremental과 같은 옵션으로 증분백업 옵션 |
◘ tar를 이용한 증분 백업
▪ 증분 백업 하기
# mkdir /data # mkdir /backup # cp -f /bin/* /data // /bin의 파일들을 모두 /data에 복사 # cp -f /bin/* /home // /bin의 파일들을 모두 /home에 복사
|
>> step1 : Full Backup : /home과 /data의 파일들을 /backup에 백업
# tar zcfp /backup/home_bak_full.tgz -g /backup/home_backup /home # tar zcfp /backup/data_bak_full.tgz --listed-incremental /backup/data_backup /data
|
>> step2 : 1차 증분 백업 : /data와 /home에 파일을 추가한 후 /backup에 백업
# cp /sbin/* /data/ # cp /sbin/* /home/
|
# tar zcfp /backup/home_bak_1.tgz -g /backup/home_backup /home # tar zcfp /backup/data_bak_1.tgz -g /backup/data_backup /data
|
>> step3 : 2차 증분 백업 : /data에만 파일을 추가한 후 /backup에 백업
# cp -f /boot/* /data/
|
# tar zcfp /backup/home_bak_2.tgz -g /backup/home_backup /home # tar zcfp /backup/data_bak_2.tgz -g /backup/data_backup /data
|
▪ 증분 백업 복구
# rm -rf /data // /data 삭제 # rm -rf /home // /home 삭제
|
>> step1 : Full Backup 파일 복구
# cd backup # tar zxf home_bak_full.tgz -C / # tar zxf data_bak_full.tgz -C /
# ls -l /home | more # ls -l /data | more
|
>> step2 : 1차 증분 백업 파일 복구
# tar zxf home_bak_1.tgz -g ./home_backup -C / # tar zxf data_bak_1.tgz -g ./data_backup -C /
# ls -l /home | more # ls -l /data | more
|
>> step3 : 2차 증분 백업 파일 복구
# tar zxf home_bak_2.tgz -g ./home_backup -C / # tar zxf data_bak_2.tgz -g ./data_backup -C /
# ls -l /home | more # ls -l /data | more
|
# by | 2008/02/28 22:37 | unix/linux | 트랙백 | 덧글(0)
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]