一、实例演示bacula的完全恢复功能
1、通过差异备份进行完全恢复
操作步骤如下:
- *status
- Status available for:
- 1: Director
- 2: Storage
- 3: Client
- 4: All
- Select daemon type for status (1-4): 1
- f10-64-build-dir Version: 3.0.2 (18 July 2009) x86_64-unknown-linux-gnu redhat
- Daemon started 21-Aug-09 15:01, 1 Job run since started.
- Heap: heap=253,952 smbytes=84,808 max_bytes=85,641 bufs=266 max_bufs=279
- Scheduled Jobs:
- Level Type Pri Scheduled Name Volume
- =======================================================================
- Incremental Backup 10 21-Aug-09 23:05 Client1 cicro4
- Incremental Backup 10 21-Aug-09 23:05 Client cicro4
- Incremental Backup 10 21-Aug-09 23:05 BackupCatalog cicro4
- Running Jobs:
- Console connected at 21-Aug-09 16:32
- Console connected at 21-Aug-09 16:33
- No Jobs running.
- Terminated Jobs:
- JobId Level Files Bytes Status Finished Name
- ====================================================================
- 64 3 77.44 K OK 19-Aug-09 16:57 RestoreFiles
- 65 1 0 OK 19-Aug-09 16:58 RestoreFiles
- 66 2 38.77 K OK 19-Aug-09 16:59 RestoreFiles
- 67 Full 25 145.5 M OK 21-Aug-09 13:41 Client1
- 68 Incr 2 3.908 M OK 21-Aug-09 14:20 Client1
- 69 Full 26 149.4 M OK 21-Aug-09 14:32 Client
- 70 Diff 2 3.908 M OK 21-Aug-09 14:34 Client
- 71 Diff 3 7.817 M OK 21-Aug-09 14:35 Client
- 72 Diff 4 11.72 M OK 21-Aug-09 14:35 Client
- 73 Incr 4 11.72 M OK 21-Aug-09 15:34 Client1
从这里的备份状态可知,JobId 为69的任务是一个完全备份,而JobId 为70、71、72的3个任务是差异备份。下面进行恢复操作:
- * restore
- Automatically selected Catalog: MyCatalog
- Using Catalog "MyCatalog"
- First you select one or more JobIds that contain files
- to be restored. You will be presented several methods
- of specifying the JobIds. Then you will be allowed to
- select which files from those JobIds are to be restored.
- To select the JobIds, you have the following choices:
- 1: List last 20 Jobs run
- 2: List Jobs where a given File is saved
- 3: Enter list of comma separated JobIds to select
- 4: Enter SQL list command
- 5: Select the most recent backup for a client
- 6: Select backup for a client before a specified time
- 7: Enter a list of files to restore
- 8: Enter a list of files to restore before a specified time
- 9: Find the JobIds of the most recent backup for a client
- 10: Find the JobIds for a backup for a client before a specified time
- 11: Enter a list of directories to restore for found JobIds
- 12: Select full restore to a specified JobId
- 13: Cancel
- Select item: (1-13): 3
- Enter JobId(s), comma separated, to restore: 69,72
- You have selected the following JobIds: 69,72
#这里仅仅指定了差异备份的第一个全备份和差异备份的最后一个备份的JobId,
#即可完全恢复的数据
- Building directory tree for JobId(s) 69,72 ...
- 26 files inserted into the tree.
- You are now entering file selection mode where you add (mark) and
- remove (unmark) files to be restored. No files are initially added, unless
- you used the "all" keyword on the command line.
- Enter "done" to leave this mode.
- cwd is: /
- $ mark cicro
- 29 files marked.
- $ done
- Bootstrap records written to /opt/bacula/var/bacula/working/f10-64-build-dir.restore.1.bsr
- The job will require the following
- Volume(s) Storage(s) SD Device(s)
- =======================================================================
- cicro4 dbsd dbdev
- Volumes marked with "*" are online.
- 29 files selected to be restored.
- Defined Clients: #指定恢复到哪个FD上去
- 1: dbfd
- 2: dbfd1
- Select the Client (1-2): 1
- Run Restore job
- JobName: RestoreFiles
- Bootstrap: /opt/bacula/var/bacula/working/f10-64-build-dir.restore.1.bsr
- Where: /tmp/bacula-restores
- Replace: always
- FileSet: dbfs
- Backup Client: dbfd
- Restore Client: dbfd
- Storage: dbsd
- When: 2009-08-21 16:35:07
- Catalog: MyCatalog
- Priority: 10
- Plugin Options: *None*
- OK to run? (yes/mod/no): mod
- #选择要将数据恢复到的路径,bacula默认恢复到前面指定
- #的/tmp/bacula-restores目录下,在这里,直接将数据恢复到/cicro目录下,
- #因此选择“mod”
- Parameters to modify:
- 1: Level
- 2: Storage
- 3: Job
- 4: FileSet
- 5: Restore Client
- 6: When
- 7: Priority
- 8: Bootstrap
- 9: Where
- 10: File Relocation
- 11: Replace
- 12: JobId
- 13: Plugin Options
- Select parameter to modify (1-13): 9
- Please enter path prefix for restore (/ for none): /
- #这里指定/即可,因为前面已经设置了一个/cicro.
- Run Restore job
- JobName: RestoreFiles
- Bootstrap: /opt/bacula/var/bacula/working/f10-64-build-dir.restore.1.bsr
- Where:
- Replace: always
- FileSet: dbfs
- Backup Client: dbfd
- Restore Client: dbfd
- Storage: dbsd
- When: 2009-08-21 16:35:07
- Catalog: MyCatalog
- Priority: 10
- Plugin Options: *None*
- OK to run? (yes/mod/no): yes
- Job queued. JobId=74
- 这样,一个完全的恢复就通过差异备份方式完成了。可以在远程备份机器(即FD端)上看到,数据已经恢复了。
2、通过增量备份进行完全恢复
执行下面操作前需要先删除FD端的备份目录。
- *status
- Status available for:
- 1: Director
- 2: Storage
- 3: Client
- 4: All
- Select daemon type for status (1-4): 1
- f10-64-build-dir Version: 3.0.2 (18 July 2009) x86_64-unknown-linux-gnu redhat
- Daemon started 21-Aug-09 15:01, 2 Jobs run since started.
- Heap: heap=253,952 smbytes=100,693 max_bytes=223,457 bufs=280 max_bufs=312
- Scheduled Jobs:
- Level Type Pri Scheduled Name Volume
- =======================================================================
- Incremental Backup 10 21-Aug-09 23:05 Client1 cicro4
- Incremental Backup 10 21-Aug-09 23:05 Client cicro4
- Incremental Backup 10 21-Aug-09 23:05 BackupCatalog cicro4
- Running Jobs:
- Console connected at 21-Aug-09 16:32
- Console connected at 21-Aug-09 16:50
- No Jobs running.
- Terminated Jobs:
- JobId Level Files Bytes Status Finished Name
- ====================================================================
- 65 1 0 OK 19-Aug-09 16:58 RestoreFiles
- 66 2 38.77 K OK 19-Aug-09 16:59 RestoreFiles
- 67 Full 25 145.5 M OK 21-Aug-09 13:41 Client1
- 68 Incr 2 3.908 M OK 21-Aug-09 14:20 Client1
- 69 Full 26 149.4 M OK 21-Aug-09 14:32 Client
- 70 Diff 2 3.908 M OK 21-Aug-09 14:34 Client
- 71 Diff 3 7.817 M OK 21-Aug-09 14:35 Client
- 72 Diff 4 11.72 M OK 21-Aug-09 14:35 Client
- 73 Incr 4 11.72 M OK 21-Aug-09 15:34 Client1
- 74 29 4.092 G OK 21-Aug-09 16:35 RestoreFiles
- *restore
- Automatically selected Catalog: MyCatalog
- Using Catalog "MyCatalog"
- First you select one or more JobIds that contain files
- to be restored. You will be presented several methods
- of specifying the JobIds. Then you will be allowed to
- select which files from those JobIds are to be restored.
- To select the JobIds, you have the following choices:
- 1: List last 20 Jobs run
- 2: List Jobs where a given File is saved
- 3: Enter list of comma separated JobIds to select
- 4: Enter SQL list command
- 5: Select the most recent backup for a client
- 6: Select backup for a client before a specified time
- 7: Enter a list of files to restore
- 8: Enter a list of files to restore before a specified time
- 9: Find the JobIds of the most recent backup for a client
- 10: Find the JobIds for a backup for a client before a specified time
- 11: Enter a list of directories to restore for found JobIds
- 12: Select full restore to a specified JobId
- 13: Cancel
- Select item: (1-13): 3
- Enter JobId(s), comma separated, to restore: 67,68,73
- You have selected the following JobIds: 67,68,73
- #在这里,JobId为67的备份是一个完全备份,而JobId为68地备份为第一个增量
- #备份,JobId为73的备份为第二个增量备份,如果还有其他增量备份,都要在
- #这里指定,才能完全恢复
- Building directory tree for JobId(s) 67,68,73 ...
- 26 files inserted into the tree.
- You are now entering file selection mode where you add (mark) and
- remove (unmark) files to be restored. No files are initially added, unless
- you used the "all" keyword on the command line.
- Enter "done" to leave this mode.
- cwd is: /
- $ mark cicro #标记恢复
- 29 files marked.
- $ done #确认操作
- Bootstrap records written to /opt/bacula/var/bacula/working/f10-64-build-dir.restore.2.bsr
- The job will require the following
- Volume(s) Storage(s) SD Device(s)
- =======================================================================
- cicro4 dbsd dbdev
- Volumes marked with "*" are online.
- 29 files selected to be restored.
- Defined Clients:
- 1: dbfd
- 2: dbfd1
- Select the Client (1-2): 1
- Run Restore job
- JobName: RestoreFiles
- Bootstrap: /opt/bacula/var/bacula/working/f10-64-build-dir.restore.2.bsr
- Where: /tmp/bacula-restores
- Replace: always
- FileSet: dbfs
- Backup Client: dbfd
- Restore Client: dbfd
- Storage: dbsd
- When: 2009-08-21 16:52:04
- Catalog: MyCatalog
- Priority: 10
- Plugin Options: *None*
- OK to run? (yes/mod/no): mod
- Parameters to modify:
- 1: Level
- 2: Storage
- 3: Job
- 4: FileSet
- 5: Restore Client
- 6: When
- 7: Priority
- 8: Bootstrap
- 9: Where
- 10: File Relocation
- 11: Replace
- 12: JobId
- 13: Plugin Options
- Select parameter to modify (1-13): 9
- Please enter path prefix for restore (/ for none): /
- Run Restore job
- JobName: RestoreFiles
- Bootstrap: /opt/bacula/var/bacula/working/f10-64-build-dir.restore.2.bsr
- Where:
- Replace: always
- FileSet: dbfs
- Backup Client: dbfd
- Restore Client: dbfd
- Storage: dbsd
- When: 2009-08-21 16:52:04
- Catalog: MyCatalog
- Priority: 10
- Plugin Options: *None*
- OK to run? (yes/mod/no): yes
- Job queued. JobId=75
至此,增量备份的完全恢复也完成了,由此可以看出增量备份的恢复与差异备份恢复之间的差异。
二、实例演示bacula的不完全恢复功能
不完全恢复的操作过程与完全恢复基本一致,不同的是,在指定恢复JobId时,不完全恢复只需恢复到指定的某个JobId即可可以用增量备份和差异备份来实现不完全恢复,这里以差异备份为例,操作过程如下:
- *status
- Status available for:
- 1: Director
- 2: Storage
- 3: Client
- 4: All
- Select daemon type for status (1-4): 1
- f10-64-build-dir Version: 3.0.2 (18 July 2009) x86_64-unknown-linux-gnu redhat
- Daemon started 21-Aug-09 15:01, 3 Jobs run since started.
- Heap: heap=442,368 smbytes=105,435 max_bytes=237,737 bufs=280 max_bufs=312
- Scheduled Jobs:
- Level Type Pri Scheduled Name Volume
- ===============================================================================
- Incremental Backup 10 21-Aug-09 23:05 Client1 cicro4
- Incremental Backup 10 21-Aug-09 23:05 Client cicro4
- Incremental Backup 10 21-Aug-09 23:05 BackupCatalog cicro4
- Running Jobs:
- Console connected at 21-Aug-09 16:32
- Console connected at 21-Aug-09 17:19
- No Jobs running.
- Terminated Jobs:
- JobId Level Files Bytes Status Finished Name
- ====================================================================
- 66 2 38.77 K OK 19-Aug-09 16:59 RestoreFiles
- 67 Full 25 145.5 M OK 21-Aug-09 13:41 Client1
- 68 Incr 2 3.908 M OK 21-Aug-09 14:20 Client1
- 69 Full 26 149.4 M OK 21-Aug-09 14:32 Client
- 70 Diff 2 3.908 M OK 21-Aug-09 14:34 Client
- 71 Diff 3 7.817 M OK 21-Aug-09 14:35 Client
- 72 Diff 4 11.72 M OK 21-Aug-09 14:35 Client
- 73 Incr 4 11.72 M OK 21-Aug-09 15:34 Client1
- 74 29 4.092 G OK 21-Aug-09 16:35 RestoreFiles
- 75 29 4.092 G OK 21-Aug-09 16:52 RestoreFiles
从这里可以看出,JobId 为69到JobId为72都属于差异备份。在进行不完全恢复时,希望将数据恢复到JobId 为71的状态下,可以执行如下操作:
- *restore
- Automatically selected Catalog: MyCatalog
- Using Catalog "MyCatalog"
- First you select one or more JobIds that contain files
- to be restored. You will be presented several methods
- of specifying the JobIds. Then you will be allowed to
- select which files from those JobIds are to be restored.
- To select the JobIds, you have the following choices:
- 1: List last 20 Jobs run
- 2: List Jobs where a given File is saved
- 3: Enter list of comma separated JobIds to select
- 4: Enter SQL list command
- 5: Select the most recent backup for a client
- 6: Select backup for a client before a specified time
- 7: Enter a list of files to restore
- 8: Enter a list of files to restore before a specified time
- 9: Find the JobIds of the most recent backup for a client
- 10: Find the JobIds for a backup for a client before a specified time
- 11: Enter a list of directories to restore for found JobIds
- 12: Select full restore to a specified JobId
- 13: Cancel
- Select item: (1-13): 3
- Enter JobId(s), comma separated, to restore: 69,71 #这里指定数据恢复到什么程度
- You have selected the following JobIds: 69,71
- Building directory tree for JobId(s) 69,71 ...
- 25 files inserted into the tree.
- You are now entering file selection mode where you add (mark) and
- remove (unmark) files to be restored. No files are initially added, unless
- you used the "all" keyword on the command line.
- Enter "done" to leave this mode.
- cwd is: /
- $ mark cicro
- 28 files marked.
- $ done
- Bootstrap records written to /opt/bacula/var/bacula/working/f10-64-build-dir.restore.3.bsr
- The job will require the following
- Volume(s) Storage(s) SD Device(s)
- ===========================================================================
- cicro4 dbsd dbdev
- Volumes marked with "*" are online.
- 28 files selected to be restored.
- Defined Clients:
- 1: dbfd
- 2: dbfd1
- Select the Client (1-2): 1
- Run Restore job
- JobName: RestoreFiles
- Bootstrap: /opt/bacula/var/bacula/working/f10-64-build-dir.restore.3.bsr
- Where: /tmp/bacula-restores
- Replace: always
- FileSet: dbfs
- Backup Client: dbfd
- Restore Client: dbfd
- Storage: dbsd
- When: 2009-08-21 17:21:16
- Catalog: MyCatalog
- Priority: 10
- Plugin Options: *None*
- OK to run? (yes/mod/no): mod
- Parameters to modify:
- 1: Level
- 2: Storage
- 3: Job
- 4: FileSet
- 5: Restore Client
- 6: When
- 7: Priority
- 8: Bootstrap
- 9: Where
- 10: File Relocation
- 11: Replace
- 12: JobId
- 13: Plugin Options
- Select parameter to modify (1-13): 9
- Please enter path prefix for restore (/ for none): /
- Run Restore job
- JobName: RestoreFiles
- Bootstrap: /opt/bacula/var/bacula/working/f10-64-build-dir.restore.3.bsr
- Where:
- Replace: always
- FileSet: dbfs
- Backup Client: dbfd
- Restore Client: dbfd
- Storage: dbsd
- When: 2009-08-21 17:21:16
- Catalog: MyCatalog
- Priority: 10
- Plugin Options: *None*
- OK to run? (yes/mod/no): yes
- Job queued. JobId=76
最后,查看恢复的路径可以发现,已经将数据恢复到了指定的时间段内,不完全恢复工作完成。
至此,bacula的安装、配置和使用已经介绍完毕。
本文出自 “技术成就梦想” 博客,请务必保留此出处http://ixdba.blog.51cto.com/2895551/837298