백업 서버 · 6 min read · Dec 08, 2025
Ubuntu 20.04에 Bacula 백업 서버 설치하기

Bacula는 네트워크를 통해 데이터를 백업하고 복원하는 데 사용할 수 있는 오픈 소스 백업 도구입니다. 사용이 간편하고 많은 고급 저장 관리 기능을 제공하여 손실된 파일을 쉽게 백업하고 복구할 수 있도록 도와줍니다. Linux, Windows 및 macOS 백업 클라이언트를 지원하며 다양한 백업 장치도 지원합니다. Bacula는 Bacula 디렉터리, Bacula 콘솔, Bacula 스토리지, Bacula 파일 및 Bacula 카탈로그를 포함한 여러 구성 요소로 구성됩니다. 각 구성 요소는 특정 작업을 관리하는 책임이 있습니다.
이 튜토리얼에서는 Ubuntu 20.04에서 Bacula 백업 시스템을 설치하고 구성하는 방법을 보여드리겠습니다.
전제 조건
- 최소 2GB RAM이 장착된 Ubuntu 20.04 서버.
- 서버에 루트 비밀번호가 설정되어 있어야 합니다.
시작하기
먼저 시스템을 최신 안정 버전으로 업데이트해야 합니다. 다음 명령어로 업데이트할 수 있습니다:
apt-get update -y모든 패키지가 업데이트되면 다음 단계로 진행할 수 있습니다.
Bacula 설치
기본적으로 Bacula 패키지는 Ubuntu 20.04 기본 저장소에 있습니다. 다음 명령어를 사용하여 쉽게 설치할 수 있습니다:
apt-get install bacula -y설치 중에 아래와 같이 메일 서버를 선택하라는 메시지가 표시됩니다:

원하는 메일 서버를 선택하고 Ok 버튼을 클릭합니다. 아래와 같이 시스템 메일 이름을 제공하라는 메시지가 표시됩니다:

시스템 메일 이름을 제공하고 Ok 버튼을 클릭합니다. 아래와 같이 bacula에 대한 데이터베이스를 구성하라는 메시지가 표시됩니다:

예 버튼을 클릭합니다. 아래와 같이 PostgreSQL 서버의 호스트를 선택하라는 메시지가 표시됩니다:

localhost를 선택하고 Ok 버튼을 클릭합니다. 아래와 같이 PostgreSQL 비밀번호를 제공하라는 메시지가 표시됩니다:

원하는 비밀번호를 제공하고 설치를 계속 진행하려면 Ok 버튼을 클릭합니다.
Bacula 패키지가 설치되면 다음 단계로 진행할 수 있습니다.
Bacula 스토리지 구성
시작하기 전에 백업 파일을 저장할 디렉터리를 생성합니다. 다음 명령어로 생성할 수 있습니다:
mkdir /backup다음으로, 다음 명령어로 bacula 디렉터리의 소유권을 bacula 사용자 및 그룹으로 변경합니다:
chown -R bacula:bacula /backup다음으로, bacula 스토리지 기본 구성 파일을 편집하고 장치 및 저장소의 위치를 정의해야 합니다.
nano /etc/bacula/bacula-sd.conf다른 “Device {“ 및 “Autochanger {“ 섹션을 제거하거나 주석 처리하고 다음 줄을 추가합니다:
Device {
Name = Local-device
Media Type = File
Archive Device = /backup
LabelMedia = yes; # Bacula가 레이블이 없는 미디어에 레이블을 붙이도록 허용
Random Access = Yes;
AutomaticMount = yes; # 장치가 열리면 읽기
RemovableMedia = no;
AlwaysOpen = no;
Maximum Concurrent Jobs = 5
}작업이 끝나면 파일을 저장하고 닫습니다. 그런 다음 다음 명령어를 사용하여 Bacula 스토리지 서비스를 재시작합니다:
systemctl restart bacula-sd.service다음 명령어로 Bacula 스토리지의 상태를 확인할 수 있습니다:
systemctl status bacula-sd다음과 같은 출력이 표시되어야 합니다:
? bacula-sd.service - Bacula Storage Daemon service
Loaded: loaded (/lib/systemd/system/bacula-sd.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-10-06 09:32:43 UTC; 8s ago
Docs: man:bacula-sd(8)
Process: 10687 ExecStartPre=/usr/sbin/bacula-sd -t -c $CONFIG (code=exited, status=0/SUCCESS)
Main PID: 10688 (bacula-sd)
Tasks: 2 (limit: 4691)
Memory: 1.0M
CGroup: /system.slice/bacula-sd.service
??10688 /usr/sbin/bacula-sd -fP -c /etc/bacula/bacula-sd.conf
Oct 06 09:32:43 ubuntu2004 systemd[1]: Starting Bacula Storage Daemon service...
Oct 06 09:32:43 ubuntu2004 systemd[1]: Started Bacula Storage Daemon service.Bacula 디렉터 구성
다음으로, Bacula 디렉터 구성 파일을 편집하고 저장소 위치를 제공해야 합니다. 다음 명령어로 편집할 수 있습니다:
nano /etc/bacula/bacula-dir.conf다음 줄을 추가합니다. 여기에는 장치 이름, 저장소 이름, 비밀번호, 작업 등이 포함됩니다.
Storage {
Name = ubuntu2004-sd # /etc/bacula/bacula-sd.conf 파일의 "Storage" 섹션의 "Name" 매개변수와 같아야 합니다
Address = 127.0.0.1
Password = "aFEH-0a3QycsbYQVcoy_VoUMhAHJQ00CD" # 비밀번호는 /etc/bacula/bacula-sd.conf의 비밀번호와 일치해야 합니다
Device = Local-device
Media Type = File
}
FileSet {
Name = "Local-file"
Include {
Options {
signature = MD5
}
File = /etc
}
}
Schedule {
Name = "LocalDaily"
Run = Full daily at 06:00
}
Job {
Name = "LocalBackup"
JobDefs = "DefaultJob"
Enabled = yes
Level = Full
FileSet = "Local-file"
Schedule = "LocalDaily"
Storage = ubuntu2004-sd
Write Bootstrap = "/var/lib/bacula/LocalhostBackup.bsr"
}작업이 끝나면 파일을 저장하고 닫은 다음 변경 사항을 적용하기 위해 Bacula 디렉터 서비스를 재시작합니다:
systemctl restart bacula-dir다음 명령어로 Bacula 디렉터 서비스의 상태를 확인할 수도 있습니다:
systemctl status bacula-dir다음과 같은 출력이 표시되어야 합니다:
? bacula-director.service - Bacula Director Daemon service
Loaded: loaded (/lib/systemd/system/bacula-director.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-10-06 09:32:43 UTC; 9s ago
Docs: man:bacula-dir(8)
Process: 10667 ExecStartPre=/usr/sbin/bacula-dir -t -c $CONFIG (code=exited, status=0/SUCCESS)
Main PID: 10683 (bacula-dir)
Tasks: 3 (limit: 4691)
Memory: 2.1M
CGroup: /system.slice/bacula-director.service
??10683 /usr/sbin/bacula-dir -fP -c /etc/bacula/bacula-dir.conf
Oct 06 09:32:43 ubuntu2004 systemd[1]: Starting Bacula Director Daemon service...
Oct 06 09:32:43 ubuntu2004 systemd[1]: Started Bacula Director Daemon service.백업 작업 확인
이 시점에서 Bacula가 설치되고 매일 6시에 실행되도록 구성되었습니다. 이제 Bacula 콘솔을 사용하여 첫 번째 백업 작업을 실행해 보겠습니다.
bconsole연결되면 다음과 같은 출력이 표시되어야 합니다:
Connecting to Director localhost:9101
1000 OK: 103 ubuntu2004-dir Version: 9.4.2 (04 February 2019)
Enter a period to cancel a command.다음으로, 다음 명령어를 실행하여 백업 작업을 시작합니다:
*run아래와 같이 백업 작업을 선택하라는 메시지가 표시됩니다:
Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"
A job name must be specified.
The defined Job resources are:
1: BackupClient1
2: LocalBackup
3: BackupCatalog
4: RestoreFiles
Select Job resource (1-4): 22를 입력하여 구성 파일에 정의한 LocalBackup을 선택하고 Enter를 누릅니다. 다음과 같은 출력이 표시되어야 합니다:
Run Backup job
JobName: LocalBackup
Level: Full
Client: ubuntu2004-fd
FileSet: Local-file
Pool: File (From Job resource)
Storage: ubuntu2004-sd (From Job resource)
When: 2020-10-06 09:50:47
Priority: 10
OK to run? (yes/mod/no): yes
Job queued. JobId=3
You have messages.이 시점에서 백업 작업이 시작됩니다. 다음 명령어로 백업 작업의 상태를 확인할 수 있습니다:
*status다음 구성 요소의 상태를 선택하라는 메시지가 표시됩니다:
Status available for:
1: Director
2: Storage
3: Client
4: Scheduled
5: Network
6: All
Select daemon type for status (1-6): 11을 입력하고 Enter를 눌러 디렉터의 상태를 확인합니다. 다음과 같은 출력이 표시되어야 합니다:
ubunt2004-dir Version: 9.4.2 (04 February 2019) x86_64-pc-linux-gnu ubuntu 20.04
Daemon started 06-Oct-20 09:50, conf reloaded 06-Oct-2020 09:50:27
Jobs: run=1, running=0 mode=0,0
Heap: heap=274,432 smbytes=106,782 max_bytes=135,168 bufs=343 max_bufs=377
Res: njobs=4 nclients=1 nstores=3 npools=3 ncats=1 nfsets=3 nscheds=3
Scheduled Jobs:
Level Type Pri Scheduled Job Name Volume
===================================================================================
Full Backup 10 07-Oct-20 06:00 LocalBackup Vol-0001
====
Running Jobs:
Console connected at 06-Oct-20 09:50
No Jobs running.
====
Terminated Jobs:
JobId Level Files Bytes Status Finished Name
====================================================================
1 Full 2,262 2.875 M OK 06-Oct-20 09:50 LocalBackup
====다음으로, 상태 명령을 다시 실행하고 Bacula 스토리지의 상태를 확인합니다.
*status다음과 같은 출력이 표시되어야 합니다:
Status available for:
1: Director
2: Storage
3: Client
4: Scheduled
5: Network
6: All
Select daemon type for status (1-6): 2
The defined Storage resources are:
1: File1
2: ubuntu2004-sd
Select Storage resource (1-2): 1
Connecting to Storage daemon File1 at localhost:9103
ubuntu2004-sd Version: 9.4.2 (04 February 2019) x86_64-pc-linux-gnu ubuntu 20.04
Daemon started 06-Oct-20 09:50. Jobs: run=1, running=0.
Heap: heap=106,496 smbytes=369,301 max_bytes=567,404 bufs=90 max_bufs=110
Sizes: boffset_t=8 size_t=8 int32_t=4 int64_t=8 mode=0,0 newbsr=0
Res: ndevices=1 nautochgr=0
Running Jobs:
No Jobs running.
====
Jobs waiting to reserve a drive:
====
Terminated Jobs:
JobId Level Files Bytes Status Finished Name
===================================================================
3 Full 2,262 3.156 M OK 06-Oct-20 09:50 LocalBackup
====
Device status:
Device File: "Local-device" (/backup) is not open.
Available Space=93.95 GB
==
====
Used Volume status:
====
Attr spooling: 0 active jobs, 454,546 bytes; 1 total jobs, 454,546 max bytes.
====다음으로, 다음 명령어로 Bacula 콘솔에서 종료합니다:
*exit다음으로, 다음 명령어로 백업 디렉터리를 확인합니다:
ls /backup/Vol-0001 백업이 생성된 것을 확인할 수 있습니다:
Vol-0001결론
축하합니다! Ubuntu 20.04 서버에 Bacula 백업을 성공적으로 설치하고 구성했습니다. 이제 원격 머신에 Bacula 클라이언트를 설치하고 클라이언트 시스템을 쉽게 백업할 수 있습니다. 질문이 있으시면 언제든지 문의해 주세요.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.