backup 파일 만들기

박영준·2024년 8월 13일
0

운영 서버를 구축하면서 필수적인 작업이었다.
(보통 매주 금요일에 backup 파일을 만들어 놓는다)

필요한 파일은 backup.sh 실행 파일, 백업될 경로를적은 filelist 파일 2가지 이다.

/module/handy/backup
해당 경로에 디렉터리를 생성해두었다.

1. backup.sh

매주 백업을 진행하기 위해 쉘 스크립트 실행 파일을 만들어두고,
매주 해당 파일을 실행시켜주면 간단히 백업 가능하다.

#!/bin/sh

filename="$(date '+$y%m%d.%H%M.%s')"

tar -zcvf "$(filename)".tgz `cat "filelist"`
  • filename

    • 현재 날짜 : $(date +%Y%m%d)
    • 시분초 : %H%M.%S
  • tar

    • tar -cvf : tar 파일로 압축
    • tar -zcvf : tar 파일로 압축 후, gzip 압축
  • cat

    • 파일 출력 or 여러 파일을 연결

tgz 확장자로 압축하는 이유?

  • tar : 압축보단 여러 파일을 하나로 묶는데, 압축 용량이 적다는 단점
  • gzip(.gz) : 압축 해제 속도가 빠르나, 단일 파일만 압축 가능하다는 단점
  • tar.gz 또는 tgz : tar+gzip. 여러 파일/디렉터리 보관 가능

매주 backup해두기

[handy ~/backup] $ ./backup.sh

2. filelist

/home/handy/hip/htdocs/
/home/handy/jhoms/
/home/handy/webapps/

해당 경로에 있는 파일들을 백업하겠다

3. 240813.0933.1723509186.tgz

filelist 파일을 작성하고, backup.sh 파일을 실행하면
240813.0933.1723509186.tgz 파일이 생성된다.

해당 압축파일을 열어보면 이렇게 디렉터리들이 구분되어 있다.

profile
개발자로 거듭나기!

0개의 댓글