Bash 스크립트 기초: 파일 백업 스크립트 작성 (15일차)







파일 백업 스크립트 작성 – Bash 스크립트 기초

파일 백업 스크립트 작성 – Bash 스크립트 기초

안녕하세요, mj입니다! 오늘은 Bash 스크립트를 사용하여 특정 디렉토리의 파일을 백업하는 방법에 대해 배워보겠습니다. 파일 백업은 데이터 손실을 방지하는 데 매우 중요한 작업입니다. 다양한 실습을 통해 파일 백업 스크립트를 작성하고 적용해보세요!

1. 파일 백업의 중요성

파일 백업은 중요한 데이터를 안전하게 보관하기 위해 필수적인 작업입니다. 예기치 않은 데이터 손실이나 시스템 오류를 대비하여 정기적으로 백업을 수행해야 합니다. 오늘은 Bash 스크립트를 통해 자동화된 백업을 구현해보겠습니다.

2. 실습 예제 1: 간단한 백업 스크립트 작성하기

먼저, 특정 디렉토리의 파일을 백업하는 간단한 스크립트를 작성해보겠습니다. 아래의 스크립트를 사용하여 백업을 수행합니다:

#!/bin/bash

SOURCE_DIR="/path/to/source"
BACKUP_DIR="/path/to/backup"

# 백업 디렉토리 생성
mkdir -p "\$BACKUP_DIR"

# 파일 복사
cp -r "\$SOURCE_DIR/"* "\$BACKUP_DIR/"

echo "백업이 완료되었습니다." 

출력 결과 1

백업이 완료되었습니다.

3. 실습 예제 2: 날짜와 시간 추가하기

백업 파일에 날짜와 시간을 추가하여 관리할 수 있도록 스크립트를 수정해보겠습니다:

#!/bin/bash

SOURCE_DIR="/path/to/source"
BACKUP_DIR="/path/to/backup_\$(date +%Y%m%d_%H%M%S)"

# 백업 디렉토리 생성
mkdir -p "\$BACKUP_DIR"

# 파일 복사
cp -r "\$SOURCE_DIR/"* "\$BACKUP_DIR/"

echo "백업이 완료되었습니다. 백업 파일 경로: \$BACKUP_DIR" 

출력 결과 2

백업이 완료되었습니다. 백업 파일 경로: /path/to/backup_20230215_103000

4. 실습 예제 3: 백업 진행 상황 표시하기

백업 진행 상황을 표시하도록 스크립트를 개선해보겠습니다:

#!/bin/bash

SOURCE_DIR="/path/to/source"
BACKUP_DIR="/path/to/backup_\$(date +%Y%m%d_%H%M%S)"

# 백업 디렉토리 생성
mkdir -p "\$BACKUP_DIR"

# 파일 복사 및 진행 상황 표시
for file in "\$SOURCE_DIR/"*; do
    cp "\$file" "\$BACKUP_DIR/"
    echo "백업 중: \$(basename "\$file")"
done

echo "모든 파일이 백업되었습니다." 

출력 결과 3

백업 중: example.txt
백업 중: image.png
모든 파일이 백업되었습니다.

5. 실습 예제 4: 에러 처리 추가하기

파일 복사 중 에러가 발생할 경우를 대비하여 에러 처리를 추가해보겠습니다:

#!/bin/bash

SOURCE_DIR="/path/to/source"
BACKUP_DIR="/path/to/backup_\$(date +%Y%m%d_%H%M%S)"

# 백업 디렉토리 생성
mkdir -p "\$BACKUP_DIR"

# 파일 복사 및 에러 처리
for file in "\$SOURCE_DIR/"*; do
    if cp "\$file" "\$BACKUP_DIR/"; then
        echo "백업 중: \$(basename "\$file")"
    else
        echo "에러 발생: \$(basename "\$file")를 백업할 수 없습니다."
    fi
done

echo "백업 작업이 완료되었습니다." 

출력 결과 4

백업 중: example.txt
에러 발생: image.png를 백업할 수 없습니다.
백업 작업이 완료되었습니다.

6. 실습 예제 5: 크론탭을 이용한 자동화

마지막으로, 작성한 백업 스크립트를 크론탭을 이용하여 자동화해보겠습니다. 크론탭에 다음과 같은 항목을 추가합니다:

0 2 * * * /path/to/backup_script.sh

위의 명령어는 매일 새벽 2시에 백업 스크립트를 실행합니다.

7. 결론

오늘은 Bash 스크립트를 사용하여 파일 백업 스크립트를 작성하는 방법을 배워보았습니다. 간단한 백업부터 시작하여 날짜 추가, 진행 상황 표시, 에러 처리, 자동화까지 다양한 기능을 구현해보았습니다. 이러한 기술들은 데이터 안전성을 높이는 데 매우 유용합니다. 다음 포스팅에서는 파일 백업의 고급 기술을 다뤄보겠습니다.

감사합니다!


Leave a Comment