[Shell Script] 파일을 암호 걸어서 zip으로 아카이빙

 중요한 파일을 암호를 걸고 zip으로 아카이브하기



중요한 정보를 담은 로그 파일 등을 암호가 있는 zip으로 아카이브 합니다 . 












만약 zip 명령어가 설치 되어있지 않다면 yum -y install zip으로 설치 후 진행합니다 . 










#!/bin/sh

logdir="/home/vscode/myapp"

cd "$logdir"

#/home/vscode/myapp/log 디렉터리의 로그파일을
#암호 걸린 zip으로 아카이브

zip -e -r log.zip log

이 스크립트는 /home/vscode/myapp/log 라는 디렉터리에 저장된 로그 파일을 zip파일로 아카이브 합니다 . 
이 로그파일에 중요한 정보가 들어있다는 가정하에 암호가 걸린 zip으로 저장합니다 . 

zip 명령어

zip [옵션] <zip파일> <대상 파일>



-r 옵션은 디렉터리를 재귀적으로 처리합니다 . 
지정한 경로에 서브디렉터리가 있으면 그 내부 대상에 포함됩니다 . 
또한 파일을 아카이브 할 때 -r 옵션을 지정해도 별 문제가 없으므로 -r 옵션은 늘 지정해서 사용하는 경우가 많습니다 . 


-e 옵션은 암호화를 걸때 사용합니다 . 
-e 옵션을 걸면 enter password 문구가 뜹니다 . 





유닉스에서 자주 사용하는 tar + gz 형식은 아카이브 파일에 암호를 설정 할 수 없습니다 . 

한편 zip파일은 암호설정이 가능하고 윈도우 등에서 많이 사용되므로 pc와 파일을 주고 받을 때 자주 사용합니다 .