备份:

console端

[root@JD ~]# /usr/local/bacula/sbin/bconsole
Connecting to Director XXXXXX:9101
1000 OK: JD-dir Version: 5.2.13 (19 February 2013)
Enter a period to cancel a command.
*label##使用label创建卷组
Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"
Automatically selected Storage: File
Enter new Volume name: kk##输入卷组名称,可随意
Defined Pools:
1: Default
2: File
3: Scratch
Select the Pool (1-3): 1##使用默认池
Connecting to Storage daemon File at XXXXXXXX:9103 ...
Sending label command for Volume "allback" Slot 0 ...
3000 OK label. VolBytes=187 DVD=0 Volume="allback" Device="FileStorage" (/tmp)
Catalog record for Volume "kk", Slot 0  successfully created.
Requesting to mount FileStorage ...
3906 File device ""FileStorage" (/tmp)" is always mounted.
*run##使用run命令直接执行任务
A job name must be specified.
The defined Job resources are:
1: BackupClient1
2: BackupCatalog
3: RestoreFiles
Select Job resource (1-3): 1##选择定义好的备份任务,笔者这为增量备份,但是由于是第一次备份,所以会先完全备份,第二次才执行增量备份。
Run Backup job
JobName:  BackupClient1
Level:    Incremental
Client:   xad-fd
FileSet:  Full Set
Pool:     File (From Job resource)
Storage:  File (From Job resource)
When:     2017-09-22 10:52:45
Priority: 10
OK to run? (yes/mod/no): yes##选择mod可以临时修改任务策略
Job queued. JobId=17##桉顺序自动分配任务序列号
*
You have messages.
22-Sep 10:55 JD-dir JobId 17: Start Backup JobId 17, Job=BackupClient1.2017-09-22_10.55.05_19
22-Sep 10:55 JD-dir JobId 17: Using Device "FileStorage" to write.
22-Sep 10:55 JD-sd JobId 17: Volume "kk" previously written, moving to end of data.
22-Sep 10:55 JD-sd JobId 17: Ready to append to end of Volume "kk" size=3312462735
*status##查看Director端状态
Status available for:
1: Director
2: Storage
3: Client
4: All
Select daemon type for status (1-4): 1
JD-dir Version: 5.2.13 (19 February 2013) x86_64-unknown-linux-gnu redhat (Core)
Daemon started 20-Sep-17 17:15. Jobs: run=8, running=1 mode=0,0
Heap: heap=270,336 smbytes=159,805 max_bytes=194,200 bufs=333 max_bufs=519
Scheduled Jobs:
Level          Type     Pri  Scheduled          Name               Volume
===================================================================================
Incremental    Backup    10  22-Sep-17 23:05    BackupClient1      kk
Full           Backup    11  22-Sep-17 23:10    BackupCatalog      kk
====
Running Jobs:
Console connected at 22-Sep-17 10:40
JobId Level   Name                       Status
======================================================================
17 Increme  BackupClient1.2017-09-22_10.55.05_19 is running##任务正在执行
====
*status##查看SD状态
Status available for:
1: Director
2: Storage
3: Client
4: All
Select daemon type for status (1-4): 2
Automatically selected Storage: File
Connecting to Storage daemon File at XXXXXXXX:9103
JD-sd Version: 5.2.13 (19 February 2013) x86_64-unknown-linux-gnu redhat (Core)
Daemon started 20-Sep-17 17:15. Jobs: run=7, running=0.
Heap: heap=135,168 smbytes=245,754 max_bytes=310,350 bufs=117 max_bufs=121
Sizes: boffset_t=8 size_t=8 int32_t=4 int64_t=8 mode=0,0
Running Jobs:
Writing: Incremental Backup job BackupClient1 JobId=17 Volume="kk"
pool="File" device="FileStorage" (/tmp)
spooling=0 despooling=0 despool_wait=0
    Files=2 Bytes=84,098,420 AveBytes/sec=134,387 LastBytes/sec=133,736
    ##备份速率,这里慢是因为网络不好才1M网络。。。
FDReadSeqNo=1,303 in_msg=1298 out_msg=5 fd=5
====
.............
====
Device status:
Device "FileStorage" (/tmp) is mounted with:
Volume:      kk
Pool:        File
Media type:  File
 Total Bytes=3,396,586,383 Blocks=52,654 Bytes/block=64,507##当前的卷组大小状态
Positioned at File=0 Block=3,396,586,382
==
====
Used Volume status:
kk on device "FileStorage" (/tmp)
Reader=0 writers=1 reserves=0 volinuse=1
====
*status
Status available for:
1: Director
2: Storage
3: Client
4: All
Select daemon type for status (1-4): 3
Automatically selected Client: xad-fd
Connecting to Client xad-fd at XXXXXXXXXX:9102
xad-fd Version: 5.2.13 (19 February 2013)  x86_64-unknown-linux-gnu redhat (Core)
Daemon started 20-Sep-17 16:53. Jobs: run=8 running=0.
Heap: heap=36,864 smbytes=189,255 max_bytes=212,649 bufs=125 max_bufs=150
Sizeof: boffset_t=8 size_t=8 debug=0 trace=0
Running Jobs:
JobId 17 Job BackupClient1.2017-09-22_10.55.05_19 is running.
Incremental Backup Job started: 22-Sep-17 10:55
Files=3 Bytes=109,869,316 Bytes/sec=134,808 Errors=0
Files Examined=1,731
Processing file: /usr/local/src/bacula-bat-5.0.1-2.src.rpm5##当前正在备份的数据文件
SDReadSeqNo=5 fd=5
Director connected at: 22-Sep-17 11:08
====
测试的时候可以创建较小的文件来测试,不然就看SD和FD的传输速率咋滴。。。
完成后在使用status查看Director可以看到
.........
Terminated Jobs:
 JobId  Level    Files      Bytes   Status   Finished        Name 
=================================================================
15  Full     19,486    823.9 M  OK       22-Sep-17 04:35 BackupClient1
17  Incr         16    422.7 M  OK       22-Sep-17 11:47 BackupClient1
You have messages.
*
22-Sep 11:47 JD-sd JobId 17: Elapsed time=00:52:26, Transfer rate=134.3 K Bytes/second
22-Sep 11:47 JD-dir JobId 17: Bacula JD-dir 5.2.13 (19Jan13):
Build OS:               x86_64-unknown-linux-gnu redhat (Core)
JobId:                  17
Job:                    BackupClient1.2017-09-22_10.55.05_19
Backup Level:           Incremental, since=2017-09-22 02:53:05
Client:                 "xad-fd" 5.2.13 (19Jan13) x86_64-unknown-linux-gnu,redhat,(Core)
FileSet:                "Full Set" 2017-09-20 16:37:24
Pool:                   "File" (From Job resource)
Catalog:                "MyCatalog" (From Client resource)
Storage:                "File" (From Job resource)
Scheduled time:         22-Sep-2017 10:52:45
Start time:             22-Sep-2017 10:55:08
End time:               22-Sep-2017 11:47:34
Elapsed time:           52 mins 26 secs
Priority:               10
FD Files Written:       16
SD Files Written:       16
FD Bytes Written:       422,734,243 (422.7 MB)
SD Bytes Written:       422,736,198 (422.7 MB)
Rate:                   134.4 KB/s
Software Compression:   None
VSS:                    no
Encryption:             no
Accurate:               no
Volume name(s):         kk
Volume Session Id:      8
Volume Session Time:    1505898937
Last Volume Bytes:      3,735,513,271 (3.735 GB)
Non-fatal FD errors:    0
SD Errors:              0
FD termination status:  OK
SD termination status:  OK
Termination:            Backup OK


还原

去客户端删除一些数据:
[root@Aliyun src]# ll | grep bacula-bat-5.0.1-2.src.rpm8
-rw-r--r--  1 root root  51002498 Sep 22 10:54 bacula-bat-5.0.1-2.src.rpm8
[root@Aliyun src]# rm -rf bacula-bat-5.0.1-2.src.rpm8
##已经备份,为测试还原就删除一个数据包。
去Director端创建还原任务:
[root@JD ~]# /usr/local/bacula/sbin/bconsole
*restore
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 Job date
13: Cancel
Select item:  (1-13): 1##选择1查看最近20个任务
+-------+--------+---------------------+----------+----------+-------------+
| JobId | Client | StartTime           | JobLevel | JobFiles | JobBytes    |
+-------+--------+---------------------+----------+----------+-------------+
| 17    | xad-fd | 2017-09-22 10:55:08 | I        | 16       | 422734243   |
| 16    | xad-fd | 2017-09-22 04:35:51 | F        | 0        | 0           |
| 14    | xad-fd | 2017-09-22 04:35:48 | F        | 0        | 0           |
| 15    | xad-fd | 2017-09-22 02:53:05 | F        | 19486    | 823900553   |
| 13    | xad-fd | 2017-09-22 01:10:19 | F        | 19486    | 823900553   |
+-------+--------+---------------------+----------+----------+-------------+
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 Job date
13: Cancel
Select item:  (1-13): 3
Enter JobId(s), comma separated, to restore: 17
You have selected the following JobId: 17
Building directory tree for JobId(s) 17 ...
15 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: /
$ help
Command    Description
=======    ===========
add        add dir/file to be restored recursively, wildcards allowed
cd         change current directory
count      count marked files in and below the cd
delete     delete dir/file to be restored recursively in dir
dir        long list current directory, wildcards allowed
done       leave file selection mode
estimate   estimate restore size
exit       same as done command
find       find files, wildcards allowed
help       print help
ls         list current directory, wildcards allowed
lsmark     list the marked files in and below the cd
mark       mark dir/file to be restored recursively, wildcards allowed
markdir    mark directory name to be restored (no files)
pwd        print current working directory
unmark     unmark dir/file to be restored recursively in dir
unmarkdir  unmark directory name only no recursion
quit       quit and do not do restore
?          print help
$ cd usr/local/src
cwd is: /usr/local/src/
$ ls
bacula-bat-5.0.1-2.src.rpm1
bacula-bat-5.0.1-2.src.rpm2
bacula-bat-5.0.1-2.src.rpm3
bacula-bat-5.0.1-2.src.rpm4
bacula-bat-5.0.1-2.src.rpm5
bacula-bat-5.0.1-2.src.rpm6
bacula-bat-5.0.1-2.src.rpm7
bacula-bat-5.0.1-2.src.rpm8
varnish-3.0.7.tgz2
varnish-3.0.7.tgz3
varnish-3.0.7.tgz34
varnish-3.0.7.tgz4
varnish-3.0.7.tgz5
varnish-3.0.7.tgz6
varnish-3.0.7.tgz7
$
$ mark bacula-bat-5.0.1-2.src.rpm8  ##选择要还原的包
1 file marked.
$ done
Bootstrap records written to /usr/local/bacula/opt/bacula/working/JD-dir.restore.1.bsr
The job will require the following
Volume(s)                 Storage(s)                SD Device(s)
===========================================================================
kk                        File                      FileStorage
Volumes marked with "*" are online.
1 file selected to be restored.
Automatically selected Client: xad-fd
Run Restore job
JobName:         RestoreFiles
Bootstrap:       /usr/local/bacula/opt/bacula/working/JD-dir.restore.1.bsr
Where:           /tmp/bacula-restores
Replace:         always
FileSet:         Full Set
Backup Client:   xad-fd
Restore Client:  xad-fd
Storage:         File
When:            2017-09-22 13:07:18
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
Select parameter to modify (1-13): 9
Please enter the full path prefix for restore (/ for none): /usr/local/src   ##以你的备份路劲为根路径"/",所以现在我备份完后的路径是客户端的/usr/loca/src/usr/loca/src里
Run Restore job
JobName:         RestoreFiles
Bootstrap:       /usr/local/bacula/opt/bacula/working/JD-dir.restore.1.bsr
Where:           /usr/local/src
Replace:         always
FileSet:         Full Set
Backup Client:   xad-fd
Restore Client:  xad-fd
Storage:         File
When:            2017-09-22 13:07:18
Catalog:         MyCatalog
Priority:        10
Plugin Options:  *None*
OK to run? (yes/mod/no): yes
Job queued. JobId=18
You have messages.
查看Director状态
*status
Status available for:
1: Director
2: Storage
3: Client
4: All
Select daemon type for status (1-4): 1
JD-dir Version: 5.2.13 (19 February 2013) x86_64-unknown-linux-gnu redhat (Core)
Daemon started 20-Sep-17 17:15. Jobs: run=9, running=1 mode=0,0
Heap: heap=151,552 smbytes=92,781 max_bytes=209,746 bufs=282 max_bufs=519
Scheduled Jobs:
Level          Type     Pri  Scheduled          Name               Volume
===================================================================================
Incremental    Backup    10  22-Sep-17 23:05    BackupClient1      kk
Full           Backup    11  22-Sep-17 23:10    BackupCatalog      kk
====
Running Jobs:
Console connected at 22-Sep-17 10:40
JobId Level   Name                       Status
======================================================================
18         RestoreFiles.2017-09-22_13.08.52_20 is running
====
产看客户端状态
*status
Status available for:
1: Director
2: Storage
3: Client
4: All
Select daemon type for status (1-4): 3
Automatically selected Client: xad-fd
Connecting to Client xad-fd at XXXXXXXXX:9102
xad-fd Version: 5.2.13 (19 February 2013)  x86_64-unknown-linux-gnu redhat (Core)
Daemon started 20-Sep-17 16:53. Jobs: run=9 running=0.
Heap: heap=36,864 smbytes=182,314 max_bytes=214,461 bufs=108 max_bufs=153
Sizeof: boffset_t=8 size_t=8 debug=0 trace=0
Running Jobs:
JobId 18 Job RestoreFiles.2017-09-22_13.08.52_20 is running.
Restore Job started: 22-Sep-17 13:08
Files=1 Bytes=3,932,160 Bytes/sec=100,824 Errors=0
Files Examined=1
 Processing file: /usr/local/src/usr/local/src/bacula-bat-5.0.1-2.src.rpm8
SDReadSeqNo=129 fd=5
Director connected at: 22-Sep-17 13:09
====
22-Sep 13:08 JD-dir JobId 18: Start Restore Job RestoreFiles.2017-09-22_13.08.52_20
22-Sep 13:08 JD-dir JobId 18: Using Device "FileStorage" to read.
22-Sep 13:08 JD-sd JobId 18: Ready to read from volume "kk" on device "FileStorage" (/tmp).
22-Sep 13:08 JD-sd JobId 18: Forward spacing Volume "kk" to file:block 0:3312462735.
*
完成后再次查看状态
*status
Status available for:
1: Director
2: Storage
3: Client
4: All
Select daemon type for status (1-4): 3
Automatically selected Client: xad-fd
Connecting to Client xad-fd at XXXXXXXXX:9102
xad-fd Version: 5.2.13 (19 February 2013)  x86_64-unknown-linux-gnu redhat (Core)
Daemon started 20-Sep-17 16:53. Jobs: run=10 running=0.
Heap: heap=36,864 smbytes=110,544 max_bytes=214,461 bufs=82 max_bufs=153
Sizeof: boffset_t=8 size_t=8 debug=0 trace=0
Running Jobs:
Director connected at: 22-Sep-17 13:24
No Jobs running.
Terminated Jobs:
JobId  Level    Files      Bytes   Status   Finished        Name
======================================================================
.......
17  Incr         16    422.7 M  OK       22-Sep-17 11:47 BackupClient1
18                1    51.00 M  OK       22-Sep-17 13:17 RestoreFiles
====
22-Sep 13:17 JD-dir JobId 18: Bacula JD-dir 5.2.13 (19Jan13):
Build OS:               x86_64-unknown-linux-gnu redhat (Core)
JobId:                  18
Job:                    RestoreFiles.2017-09-22_13.08.52_20
Restore Client:         xad-fd
Start time:             22-Sep-2017 13:08:54
End time:               22-Sep-2017 13:17:02
Files Expected:         1
Files Restored:         1
Bytes Restored:         51,002,498
Rate:                   104.5 KB/s
FD Errors:              0
FD termination status:  OK
SD termination status:  OK
Termination:            Restore OK
22-Sep 13:17 JD-dir JobId 18: Begin pruning Jobs older than 6 months .
22-Sep 13:17 JD-dir JobId 18: No Jobs found to prune.
22-Sep 13:17 JD-dir JobId 18: Begin pruning Files.
22-Sep 13:17 JD-dir JobId 18: No Files found to prune.
22-Sep 13:17 JD-dir JobId 18: End auto prune

.

到此完成还原,现在去客户端的/usr/local/src/usr/local/src/里看一下

[root@Aliyun src]# pwd
/usr/local/src/usr/local/src
[root@Aliyun src]# ll
total 49808
-rw-r--r-- 1 root root 51002498 Sep 22 10:54 bacula-bat-5.0.1-2.src.rpm8