효율적으로 데이터를 백업하는 데 사용되는
아카이브
아카이빙과 압축
압축 Compression : 파일이나 아카이브가 디스크에서 차지하는 공간을 줄여주는 소프트웨어 도구 (알고리즘을 통해)
아카이빙 Archiving : 단일 파일에 파일과 디렉터리들을 넣어 묶기
> 네트워크를 통해 큰 아카이브 파일을 전달할 계획이라면 압축하는 편이 더욱 좋음
아카이빙에 고려할 사항
이미지
데이터 백업
파티션을 알아야 한다.
즉, 해당 파티션을 백업하기 위해 이 파티션의 용량이 어느정도인지 어디에 위치하는지 파악이 필요
*tmpfs : 임시파일시스템으로 백업할 필요가 없음
*dev : 시스템엔 연결된 모든 장치가 표시되는 파일 형태
+
/usr또는 /var 파티션
boot 파티션
실습 : tar
테스트용 디렉토리와 파일을 만들어 tar 파일로 묶어본다.
현재 작업 디렉터리 외부에 있는 파일과 디렉터리도 대상으로 선택할 수 있고,
tar 명령어를 실행한 디렉토리 아래에 tar파일이 생성된다.
원하는 확장자 파일만 아카이브 파일로 만들고 압축까지 한다. (tar czvf ~)
그러면 tar.gz 확장자명의 파일이 생성된다.
실습 2 : Split
아카이브 파일이 아주 큰 경우 여러 개의 작은 파일로 나누어 전송한 다음 새로운 곳에서 원래 파일로 합칠 때 사용
1. split 했다가
2. cat 으로 생성한 데이터 스트림한 다음 돌리고자 하는 파일로 리다이렉션
실습 : 파일 시스템 아카이브 스트리밍
> 명령어 한줄씩 분석
* --one-file-system : 현재 파일 시스템 외에 다른 파일 시스템에 있는 ㅔ이터 모두 제외( 즉, tmp 와 같은 파티션이 제외됨)
* / /usr /var : 아카이브에 추가할 파티션 명시 (또는 파일 목록)
* --exclude= : 현재 파일 시스템에서 제외하고 싶은 데이터 명시
* | ssh : 앞의 명령문 실행 결과를 ssh 세션을 통해 다른 서버에 보내고,
* "cat > ~" : 원격 서버가 파이프로 전달받은 데이터 스트림을 해당 파일의 내용으로 저장
find 명령어
아카이빙하려는 파일이 모두 단일 디렉터리 구조 안에 모여있지 않은 경우에는?
원하는 파일만 쏙쏙 골라 모으기 위해 find 명령어를 사용한다.
👍find : 주어진 규칙에 맞는 파일들을 찾아내어 파일의 이름과 위치를 표준 출력으로 출력
tar -r옵션 : 기존 아카이브에 내용을 추가할 수 있다.
find -iname 옵션 : 대문자 소문자 모두 구분없이 ㅣㅐㅊㅁ매칭
find -name 옵션 : 대소문자 구분하여 매칭
권한으로 인해 검색이 제한되지 않도록 sudo + 명령어를 실행하는 것이 좋음
아카이브 추출
*아카이빙 작업으로 파일 접근 권한 및 소유자 속성이 손상되지 않도록 해야 한다.
원본과 똑같이 파일접근권한이나 소유권속성을 보존하며 아카이빙을 하기 위해서는
root 관리자 권한으로 작업을 수행해야 한다.
> 권한 관련 명령어
chmod g+x ~ : 그룹에 실행 권한 추가
chmod o-r ~ : 나머지 사용자로부터 읽기 권한 삭제
> 소유자 속성 설정 명령어
chown username:username ~
관리자 권한으로 하지 않고, tar 작업을 했을 때
소유권 속성이 ubuntu 계정으로 돌아와 버림! 손상이 되었다!
> sudo 권한으로 tar 작업을 했을 때 소유권 속성이 그대로 보존되었다
'자기발전소 > # Linux' 카테고리의 다른 글
[Linux] 디스크 관리하기 (1) | 2021.01.26 |
---|---|
Windows Subsystem for Linux(Windows 10) 설치 기록 (0) | 2021.01.05 |
리눅스 프로세스 관리 (0) | 2021.01.03 |
가상화 : Hypervisor (0) | 2020.11.03 |
Linux : 리눅스에 대하여 (0) | 2020.11.03 |