백업은 운영 체제나 파일 시스템의 중요한 부분으로, 잃어버릴 경우 데이터 복구에 많은 시간과 비용이 들어갈 수 있습니다. 파일을 백업하는 것은 항상 좋은 습관입니다. 이번 글에서는 우분투 Linux에서 Bash를 이용하여 파일을 백업하는 방법을 알아보겠습니다.
Bash 스크립트 작성
- 우분투 터미널을 엽니다.
-
백업 스크립트를 작성할 파일을 생성합니다. 예를 들어,
backup.sh
라는 파일을 생성합니다.$ touch backup.sh
-
생성한 파일을 수정하고 다음 코드를 입력합니다.
#!/bin/bash # 백업할 디렉토리 경로 source_dir="/path/to/source/directory" # 백업된 파일을 저장할 디렉토리 경로 backup_dir="/path/to/backup/directory" # 백업 파일 이름에 날짜와 시간을 추가하기 위한 변수 current_date=$(date +%Y%m%d_%H%M%S) # 백업 실행 rsync -avz --delete "${source_dir}" "${backup_dir}/backup_${current_date}"
이 스크립트는
source_dir
변수에 지정한 디렉토리의 파일을backup_dir
변수에 지정한 디렉토리에 백업합니다. 백업된 디렉토리 이름은backup_날짜시간
의 형식으로 생성됩니다.rsync
명령을 사용하여 복사가 이루어집니다. -
스크립트를 저장한 후 실행 권한을 부여합니다.
$ chmod +x backup.sh
백업 스크립트 실행
-
터미널에서 백업 스크립트를 실행합니다.
$ ./backup.sh
백업 작업이 시작되며 진행 상황이 터미널에 표시됩니다. 모든 파일 복사가 완료되면 백업된 파일이
backup_dir
에 생성됩니다.
스케줄링
정기적으로 백업 작업을 실행하고 싶다면 cron
을 사용하여 스케줄링할 수 있습니다. 다음은 매일 3시에 백업 스크립트를 실행하는 예시입니다.
-
터미널에서 cron 작업을 편집합니다.
$ crontab -e
-
에디터가 열리면 다음 라인을 추가합니다.
0 3 * * * /path/to/backup.sh
이 예시에서는 매일 3시 0분에
/path/to/backup.sh
스크립트를 실행합니다. -
작업을 저장하고 에디터를 닫습니다.
cron
스케줄러는 지정된 시간에 주어진 명령을 자동으로 실행합니다. 이를 통해 매일 일정 시간에 자동 백업을 수행할 수 있습니다.
마무리
이 글에서는 우분투에서 Bash 스크립트를 사용하여 파일을 백업하는 방법에 대해 알아보았습니다. 데이터 손실을 방지하기 위해 정기적으로 파일을 백업하는 것은 중요한 습관입니다. Bash 스크립트와 cron을 활용하여 자동화된 백업 시스템을 구축할 수 있습니다.