您的位置:首页 > 其它

实战演示bacula完全恢复与不完全恢复功能

2012-04-18 09:41 323 查看
一、实例演示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的安装、配置和使用已经介绍完毕。
本文出自 “爱维Linux” 博客,请务必保留此出处http://ixdba.blog.51cto.com/2895551/837298
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: