티스토리 뷰
tar로 압축/해제하기
tar -cf : 압축하기
tar -tf: 테스트 하기
tar -xf: 압축 해제하기
[root@bastion tmp]# ls -al
total 36
drwxr-xr-x. 3 root root 4096 Jun 9 17:15 .
dr-xr-x---. 15 root root 4096 Jun 8 16:07 ..
-rwxr-xr-x. 1 root root 80 Jun 4 15:14 control
-rw-r--r--. 1 root root 16426 Jun 8 20:04 control_outfile
drwxr-xr-x. 2 root root 4096 Jun 9 17:16 test
[root@bastion tmp]# tar -cf test/tmp.tar control*
[root@bastion tmp]# tar -tf test/tmp.tar
control
control_outfile
[root@bastion tmp]# cd test
[root@bastion test]# tar -xf tmp.tar
[root@bastion test]# ls -l
total 44
-rwxr-xr-x. 1 root root 80 Jun 4 15:14 control
-rw-r--r--. 1 root root 16426 Jun 8 20:04 control_outfile
-rw-r--r--. 1 root root 20480 Jun 9 17:17 tmp.tar
압축방식별 tar파일 크기 비교
기본압축, gzip, bzip, xzip 등 압축방식을 지정하여 압축할 수 있습니다.
아래와 같이 xzip이 가장 우수한 압축률을 제공합니다.
추가로 bzip도 있습니다.
[root@infra ~]# mkdir -p ~/backup
[root@infra ~]# cd ~/backup
[root@infra backup]# tar -cf backup-etc-$(date +%F).tar /etc
tar: Removing leading `/' from member names
[root@infra backup]# tar -czf backup-etc-$(date +%F).tar.gz /etc
tar: Removing leading `/' from member names
[root@infra backup]# tar -cJf backup-etc-$(date +%F).tar.xz /etc
tar: Removing leading `/' from member names
[root@infra backup]# ls -lh
total 52M
-rw-r--r--. 1 root root 33M Jun 9 17:28 backup-etc-2020-06-09.tar
-rw-r--r--. 1 root root 11M Jun 9 17:28 backup-etc-2020-06-09.tar.gz
-rw-r--r--. 1 root root 7.8M Jun 9 17:28 backup-etc-2020-06-09.tar.xz
[root@infra backup]#
[root@infra backup]# file *.tar
backup-etc-2020-06-09.tar: POSIX tar archive (GNU)
[root@infra backup]# file *.tar.gz
backup-etc-2020-06-09.tar.gz: gzip compressed data, from Unix, last modified: Tue Jun 9 17:28:34 2020
[root@infra backup]# file *.tar.xz
backup-etc-2020-06-09.tar.xz: XZ compressed data
❯ tar -cjf backup-etc-$(date +%F).tar.bz /etc
tar: Removing leading '/' from member names
~/backup
❯ ls -lh
total 8
-rw-r--r-- 1 happycloudpak staff 266B Jun 9 17:35 backup-etc-2020-06-09.tar.bz
압축방식은 달라도 해제할 때는 'tar -xf <압축파일명>'을 사용하면 됩니다.
파일 전송하기: scp
scp명령을 이용하여 다른 서버(vm)에 있는 파일들을 안전하게 복사할 수 있습니다.
[root@bastion scptest]# ssh infra
Last login: Tue Jun 9 17:35:22 2020 from api-int.cp.kubepia.net
[root@infra ~]# ls -l backup
total 52228
-rw-r--r--. 1 root root 33976320 Jun 9 17:28 backup-etc-2020-06-09.tar
-rw-r--r--. 1 root root 11416399 Jun 9 17:28 backup-etc-2020-06-09.tar.gz
-rw-r--r--. 1 root root 8085316 Jun 9 17:28 backup-etc-2020-06-09.tar.xz
[root@infra ~]# exit
logout
Connection to 10.178.41.165 closed.
[root@bastion scptest]# scp -r root@infra:~/backup .
backup-etc-2020-06-09.tar 100% 32MB 69.7MB/s 00:00
backup-etc-2020-06-09.tar.gz 100% 11MB 135.7MB/s 00:00
backup-etc-2020-06-09.tar.xz 100% 7896KB 107.0MB/s 00:00
[root@bastion scptest]# ls -l
total 4
drwxr-xr-x. 2 root root 4096 Jun 9 17:42 backup
[root@bastion scptest]# ls -lh backup
total 52M
-rw-r--r--. 1 root root 33M Jun 9 17:42 backup-etc-2020-06-09.tar
-rw-r--r--. 1 root root 11M Jun 9 17:42 backup-etc-2020-06-09.tar.gz
-rw-r--r--. 1 root root 7.8M Jun 9 17:42 backup-etc-2020-06-09.tar.xz
[root@bastion scptest]#
파일을 복사할 때는 -r 옵션을 주지 않으면 됩니다.
[root@bastion scptest]# scp root@infra:~/backup/* .
backup-etc-2020-06-09.tar 100% 32MB 120.4MB/s 00:00
backup-etc-2020-06-09.tar.gz 100% 11MB 100.8MB/s 00:00
backup-etc-2020-06-09.tar.xz 100% 7896KB 66.2MB/s 00:00
[root@bastion scptest]# ls -l
total 52300
drwxr-xr-x. 2 root root 4096 Jun 9 17:42 backup
-rw-r--r--. 1 root root 33976320 Jun 9 17:44 backup-etc-2020-06-09.tar
-rw-r--r--. 1 root root 11416399 Jun 9 17:44 backup-etc-2020-06-09.tar.gz
-rw-r--r--. 1 root root 8085316 Jun 9 17:44 backup-etc-2020-06-09.tar.xz
파일 전송하기: sftp
sftp로 다른 서버(vm)을 접속한 후 get으로 파일을 가져오고, put으로 파일을 밀어넣을 수 있습니다.
lcd는 local change directory의 약자로 소스 서버(vm)의 현재 위치를 바꾸는 명령입니다.
[root@bastion ~]# sftp root@infra
Connected to infra.
sftp> lcd ~/tmp/scptest
sftp> cd backup
sftp> ls -l
-rw-r--r-- 1 root root 33976320 Jun 9 17:28 backup-etc-2020-06-09.tar
-rw-r--r-- 1 root root 11416399 Jun 9 17:28 backup-etc-2020-06-09.tar.gz
-rw-r--r-- 1 root root 8085316 Jun 9 17:28 backup-etc-2020-06-09.tar.xz
sftp> get *
Fetching /root/backup/backup-etc-2020-06-09.tar to backup-etc-2020-06-09.tar
/root/backup/backup-etc-2020-06-09.tar 100% 32MB 103.6MB/s 00:00
Fetching /root/backup/backup-etc-2020-06-09.tar.gz to backup-etc-2020-06-09.tar.gz
/root/backup/backup-etc-2020-06-09.tar.gz 100% 11MB 116.8MB/s 00:00
Fetching /root/backup/backup-etc-2020-06-09.tar.xz to backup-etc-2020-06-09.tar.xz
/root/backup/backup-etc-2020-06-09.tar.xz 100% 7896KB 120.9MB/s 00:00
sftp> lcd /etc
sftp> put hosts
Uploading hosts to /root/backup/hosts
hosts 100% 962 1.3MB/s 00:00
sftp> ls -l
-rw-r--r-- 1 root root 33976320 Jun 9 17:28 backup-etc-2020-06-09.tar
-rw-r--r-- 1 root root 11416399 Jun 9 17:28 backup-etc-2020-06-09.tar.gz
-rw-r--r-- 1 root root 8085316 Jun 9 17:28 backup-etc-2020-06-09.tar.xz
-rw-r--r-- 1 root root 962 Jun 9 17:54 hosts
sftp> exit
파일 동기화 하기: rsync
rsync명령을 이용하여 서버(vm)간에 파일 자체 또는 파일 내용까지 동기화할 수 있습니다.
따라서 서버간 파일 복사도 할 수 있습니다.
[root@bastion ~]# rsync -Par root@infra:~/rsynctest .
receiving incremental file list
rsynctest/
rsynctest/file2
0 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=0/3)
[root@bastion ~]# ls -l rsynctest/
total 0
-rw-r--r--. 1 root root 0 Jun 10 15:00 file1
-rw-r--r--. 1 root root 0 Jun 10 15:06 file2
[root@bastion ~]# rsync -Par root@infra:~/rsynctest .
receiving incremental file list
rsynctest/file1
12 100% 11.72kB/s 0:00:00 (xfr#1, to-chk=1/3)
[root@bastion ~]# ls -l rsynctest/
total 4
-rw-r--r--. 1 root root 12 Jun 10 15:06 file1
-rw-r--r--. 1 root root 0 Jun 10 15:06 file2
[root@bastion ~]# cat rsynctest/file1
hello file1
반대 방향으로도 할 수 있습니다.
$ rsync -Par ~/rsynctest server-b:~/rsynctest
'Infrastructure > OS' 카테고리의 다른 글
Red Hat System Administration I: Linux 파일 시스템 (0) | 2020.06.17 |
---|---|
Red Hat System Administration I: Redhat 소프트웨어 설치 및 업그레이드 (0) | 2020.06.12 |
Red Hat System Administration I: 네트워크 관리 (0) | 2020.06.08 |
Red Hat System Administration I: Logs (0) | 2020.06.08 |
Red Hat System Administration I: timedatectl (0) | 2020.06.08 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 마이크로서비스 패턴
- agile
- SAGA
- Event Sourcing
- 육각형인간
- 스포티파이
- 호모프롬프트
- 요즘남편 없던아빠
- 마이크로서비스
- 버라이어티가격
- 리퀴드폴리탄
- micro service
- 애자일
- API Composition
- CQRS
- 스핀프로젝트
- 디토소비
- AXON
- spotify
- 돌봄경제
- 도파밍
- 분초사회
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함