Categories: Bash Scripts

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

감사합니다!


mj

Recent Posts

57일차: 보안 스크립트 – 파일 권한 및 소유권 관리

파일 권한 및 소유권을 관리하는 방법과 스크립트 예시를 알아보세요. 보안 스크립트로 안전한 파일 관리를 실현합니다.

8시간 ago

56일차: 보안 스크립트 – 리눅스 보안 개념 이해

리눅스의 보안 개념과 중요성을 배우고 이해합니다.

11시간 ago

55일차: 스크립트 배포 및 관리 – 스크립트 배포 실습

스크립트 배포 및 관리 실습을 통해 실제 환경에서의 스크립트 배포 방법을 배워보세요.

1일 ago

54일차: 스크립트 배포 및 관리 – 스크립트 유지보수 기법

스크립트 유지보수 기법과 모범 사례를 익히고, 효율적인 관리 방법을 알아보세요.

2일 ago

53일차: 스크립트 배포 및 관리 – 스크립트 문서화

스크립트를 문서화하여 다른 사용자와 공유하는 방법을 배워보세요.

2일 ago

52일차: 스크립트 배포 및 관리 – Git을 사용한 버전 관리

Git을 사용하여 스크립트의 버전을 관리하는 방법을 익히고, 실용적인 예시를 통해 이해를 돕습니다.

2일 ago