1. 사용 명령어 |
(1) zip
2. 키워드 & 사용처 |
(1) 키워드
암호, 암호화, zip 파일
(2) 사용처
중요한 정보를 담은 로그 파일 등을 암호가 있는 zip으로 아카이브 할 때 사용합니다.
3. 실행 예제 |
$ ./passzip.sh
Enter password: <- 암호 입력
Verity password:
adding: log/ (stored 0%)
adding: log/access.log-20210322 (deflated 43%)
adding: log/error.log (deflated 21%)
adding: log/error.log-20210322 (deflated 66%)
adding: log/error.log-20210323 (deflated 19%)
adding: log/access.log-2021-0324 (feflated 60%)
adding: log/access.log (deflated 39%)
4. 스크립트 |
#!/bin/sh
logdir="/home/park/myapp"
cd "$logdir"
# /home/park/myapp/log 디렉터리에 있는 로그 파일을 암호 걸린 zip으로 아카이브
zip -e -r log.zip log
5. 해설 |
이 스크립트는 /home/park/myapp/log 라는 디렉터리에 저장된 로그 파일을 zip 파일로 아카이브 합니다. 이 로그 파일에 중요한 정보가 포함되어 있다고 가정해서 암호가 걸린 zip 파일로 저장합니다. 이 예제에서는 이용하는 zip 명령어 사용법은 다음과 같습니다.
zip [옵션] <zip 파일> <대상 파일>
-r 옵션은 디렉터리를 재귀적으로 처리합니다. 즉, 지정한 경로에 서브디렉터리가 있으면 그 내부도 대상에 포함됩니다. 대부분의 경우 이 옵션이 필요합니다. 또한, 하나의 파일을 아카이브할 때 -r 옵션을 지정해도 별 문제가 없으므로 -r 옵션은 늘 지정해서 사용하는 일이 많습니다. 암호 걸린 zip 파일을 만들려면 -e(Encrypt) 옵션을 이용합니다. 예제에서는 -e -r로 따로 지정하고 있지만 -er처럼 붙여서 사용해도 됩니다.
zip -er log.zip myapp
-e 옵션이 있는 zip 파일을 작성하면 "Enter password: "라고 암호를 물어보며 키보드로 암호를 입력합니다. 다시 "Verify password: "라고 확인하므로 다시 같은 암호를 입력합니다. 이걸로 암호 걸린 zip 파일을 작성할 수 있습니다.
유닉스에서 자주 사용하는 tar + gz 형식은 아카이브 파일에 암호를 설정할 수 없습니다. 그러나 zip 파일은 암호 설정이 가능하며 윈도우 등에서 많이 사용되므로 PC와 파일을 주고 받을 때 자주 사용합니다. 이 예제에서 만든 암호 걸린 zip 파일은 윈도우에서도 문제없이 열 수 있습니다.
<주의사항>
FreeBSD에서 암호 걸린 zip 파일을 열면 퍼미션에 따라서 zip 패키지에 있는 /usr/bin/unzip 명령어로 에러가 발생해서 열 수 없습니다. Ports의 archivers/unzip 으로 설치 가능한 /usr/local/bin/unzip 명령어를 이용하기 바랍니다.
참고서적 : 유닉스 리눅스 셸 스크립트 예제 사전
'IT 이야기 > Linux 셸 스크립트' 카테고리의 다른 글
[Linux 셸 스크립트] 파일처리 - 038 tar 아카이브할 때 일부 파일이나 디렉터리 제외하기 (0) | 2021.03.24 |
---|---|
[Linux 셸 스크립트] 파일처리 - 037 gzip 명령어로 압축률 높이기 (0) | 2021.03.24 |
[Linux 셸 스크립트] 파일처리 - 035 로컬 디렉터리에 파일을 만들지 않고 직접 원격 호스트에 아카이브하기 (0) | 2021.03.24 |
[Linux 셸 스크립트] 파일처리 - 034 파일들을 다른 디렉터리에 동기화해서 백업처리하기 (0) | 2021.03.18 |
[Linux 셸 스크립트] 파일처리 - 033 파일을 백업할 때 파일명에 날짜 넣기 (1) | 2021.03.18 |
댓글