bacula-5-2-13的安装以及基本的备份还原配置成功案例
2017-10-15 17:25
597 查看
bacula-5-2-13的安装以及基本的备份还原配置成功案例
我用的是bacula5.2.13,系统方面,我在centos6和centos7下面都成功过,bacula是个很强的备份工具,这点可以自行百度,最近在初学这个工具,此文章为怕自己忘记怎么配置备份所用,只是测试了备份以及还原文件而已,我只是一个小菜鸟,很多地方注释我都是用的自己的话,很多没有解清楚。。。。有什么不对的地方希望可以给我留言以及评论,谢谢
此次实验进行的是
1、备份以及还原本机的文件
2、备份以及还原远程客户端的文件
中文注释的地方是我修改的地方,可读性不怎么好,所有bconsole操作都是在服务器端操作,结果在客户端上查看
准备工作:
这里安装测试我只用了两台机器,一台做服务器端,配置文件有bacual-dir.conf , bacula-fd.conf , bacula-sd.conf , bconsole.conf
一台做客户端,配置文件有bacula-fd.conf , bconsole.conf
服务器:172.16.13.171 zdy1.cluster.com zdy1
客户端:172.16.13.172 zdy2.cluster.com zdy2
互相绑定主机名。关闭防火墙,selinux
一、安装
bacula的安装前:
检查gcc、gcc-c++。有的话就行,没有的话就yum安装一下。yum源的话我用的是本地镜像源,有时可能需要配个epel源和centos163源,这个可以百度
安装:
1,在服务端
yum -y install mysql mysql-server mysql-devel (mysql可以选择编译,这里采用yum安装)
centos7下:yum -y install mariadb mariadb-devel mariadb-server
创建安装包目录: mkdir /opt/bacula 解压: tar xf bacula-5.2.13.tar.gz -C /opt/bacula cd /opt/bacula/bacula-5.2.13
编译安装:
./configure –prefix=/usr/local/bacula –with-mysql (如果mysql是编译的则需要指定mysql安装的路径)
make && make install
make install-autostart
vim /etc/profile 在最后一行加入: export PATH=$PATH:/usr/local/bacula/sbin 保存退出:source /etc/profile
安装完了之后,需要创建bacula对应的mysql数据库心及访问数据库的授权。
systemc mariadb start 或者service start mysqld
cd /usr/local/bacula/etc
./grant_mysql_privileges
./create_mysql_database
./make_mysql_tables
可以登录到mysql中查看bacula库的中表是否已经建立,上面三个脚本默认由空密码的root用户执行,因此需要确保mysql root的密码为空。
2,客户端
只是需要备份的客户端,因此只需要安装相应的客户端组件即可。
makdir /opt/bacula
tar xf … -C /opt/bacula
cd /opt/bacula/bacula-5.2.13
./configure –prefix=/usr/local/bacula –enable-client-only
make && make install
make install-autostart
到这里,就已经安装完成了,我觉得安装很简单,难的是理解配置文件的关系以及服务器端的job的定义
配置文件的关系可以去百度搜索看,注意理解服务器端四个配置文件:bacula-dir.conf 、bacula-fd.conf 、bacula-sd.conf 、bconsole.conf
注意理解客户端的两个文件:bconsole.conf , bacula-fd.conf
二、测试(这里我有测试备份和恢复本机文件,有备份和恢复远程客户端文件)中文注释及为我所修改
1、测试备份还原本机文件:
首先定义好服务器端bacula-dir.conf文件:
Director { # define myself Name = zdy1.cluster.com-dir DIRport = 9101 # where we listen for UA connections QueryFile = "/usr/local/bacula/etc/query.sql" WorkingDirectory = "/usr/local/bacula/opt/bacula/working" PidDirectory = "/var/run" Maximum Concurrent Jobs = 1 Password = "qYhhy5PNCZTgW/nzE1JYiPRr+fBmUYR93uqLIyFNCDR1" # Console password Messages = Daemon } JobDefs { #定义本机的文件备份 Name = "DefaultJob" Type = Backup Level = Incremental Client = zdy1.cluster.com-fd FileSet = "Full Set" Schedule = "WeeklyCycle" Storage = File Messages = Standard Pool = File Priority = 10 Write Bootstrap = "/usr/local/bacula/opt/bacula/working/%c.bsr" #备份的信息存储目录 } JobDefs { #定义本机的文件还原 Name = "RestoreFiles" Type = Restore # Client=zdy1.cluster.com-fd FileSet="Full Set" Storage = File Pool = Default Messages = Standard Where = /tmp/bacula-restores #还原信息存储目录 } ####### 还原本机,备份本机############################ Job { #备份本机文件,引用的是上面的DefaultJob Name = "Backuplocalhost" JobDefs = "DefaultJob" } Client { Name = zdy1.cluster.com-fd Address = zdy1 FDPort = 9102 Catalog = MyCatalog Password = "XJ7vbW5riIK6PDnGQMOUDVdl3PY8zT0KPit052HRpKHF" #这个密码和本机的bacula-fd.conf中第一个director的密码一样 File Retention = 30 days # 60 days Job Retention = 2 months # six months AutoPrune = yes # Prune expired Jobs/Files } Job { #还原本机文件 Name = "Restorelocahost" Type = Restore Client=zdy1.cluster.com-fd FileSet="Full Set" Storage = File Pool = File Messages = Standard Where = /home/bacula-restores #还原后的文件目录 } ################################################## # Backup the catalog database (after the nightly save) Job { Name = "BackupCatalog" JobDefs = "DefaultJob" Level = Full FileSet="Catalog" Schedule = "WeeklyCycleAfterBackup" # This creates an ASCII copy of the catalog # Arguments to make_catalog_backup.pl are: # make_catalog_backup.pl <catalog-name> RunBeforeJob = "/usr/local/bacula/etc/make_catalog_backup.pl MyCatalog" # This deletes the copy of the catalog RunAfterJob = "/usr/local/bacula/etc/delete_catalog_backup" Write Bootstrap = "/usr/local/bacula/opt/bacula/working/%n.bsr" Priority = 11 # run after main backup } # List of files to be backed up FileSet { Name = "Full Set" Include { Options { # wildfile = "*.log" # wildfile = "*.txt" # wildfile = "*.tar.gz" # wildfile = "*.out" # exclude = yes signature = MD5 # Compression = gzip } File = /test #######这里定义的文件目录是我需要备份此目录下的所有文件 } Exclude { File = /usr/local/bacula/opt/bacula/working File = /tmp File = /proc File = /tmp File = /.journal File = /.fsck } } Schedule { Name = "WeeklyCycle" Run = Full 1st sun at 23:05 Run = Differential 2nd-5th sun at 23:05 1a4f0 Run = Incremental mon-sat at 23:05 } # This schedule does the catalog. It starts after the WeeklyCycle Schedule { Name = "WeeklyCycleAfterBackup" Run = Full sun-sat at 23:10 } # This is the backup of the catalog FileSet { Name = "Catalog" Include { Options { signature = MD5 } File = "/usr/local/bacula/opt/bacula/working/bacula.sql" } } # Definition of file storage device Storage { Name = File # Do not use "localhost" here Address = zdy1 # N.B. Use a fully qualified name here SDPort = 9103 Password = "WDPX8qK0DJ98rvthf3Uf9p77+PxV8tfMY51HwYF5h++/" Device = FileStorage Media Type = File } # Generic catalog service Catalog { Name = MyCatalog dbname = "bacula"; dbuser = "bacula"; dbpassword = "" } # Reasonable message delivery -- send most everything to email address # and to the console Messages { Name = Standard mailcommand = "/usr/local/bacula/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: %t %e of %c %l\" %r" operatorcommand = "/usr/local/bacula/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: Intervention needed for %j\" %r" mail = root@localhost = all, !skipped operator = root@localhost = mount console = all, !skipped, !saved append = "/usr/local/bacula/opt/bacula/log/bacula.log" = all, !skipped catalog = all } # # Message delivery for daemon messages (no job). Messages { Name = Daemon mailcommand = "/usr/local/bacula/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula daemon message\" %r" mail = root@localhost = all, !skipped console = all, !skipped, !saved append = "/usr/local/bacula/opt/bacula/log/bacula.log" = all, !skipped } # Default pool definition Pool { Name = Default Pool Type = Backup Recycle = yes # Bacula can automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 365 days # one year } # File Pool definition Pool { Name = File Pool Type = Backup Recycle = yes # Bacula can automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 365 days # one year Maximum Volume Bytes = 50G # Limit Volume size to something reasonable Maximum Volumes = 100 # Limit number of Volumes in Pool } # Scratch pool definition Pool { Name = Scratch Pool Type = Backup } # # Restricted console used by tray-monitor to get the status of the director # Console { Name = zdy1.cluster.com-mon Password = "T24AhaA0Cg8WO4mALHG/swH0w05KgD46ODXgVszazDh7" CommandACL = status, .status }
以上修改了服务器端的dir文件,此时我想要备份还原本机,就是相当于把本机当成客户端,此时,我们需要修改本机的bacula-fd.conf文件:
Director { Name = zdy1.cluster.com-dir #改成和主机配置文件dir中的client{}中相同的name,然后下面的密码也要和dir文件中的client{}密码相同 Password = "XJ7vbW5riIK6PDnGQMOUDVdl3PY8zT0KPit052HRpKHF" } # # Restricted Director, used by tray-monitor to get the # status of the file daemon # Director { Name = zdy1.cluster.com-mon #改成与服务器端console.conf配置文件中的console.conf中的name相同 Password = "qYhhy5PNCZTgW/nzE1JYiPRr+fBmUYR93uqLIyFNCDR1" #密码和服务器端dir文件中的第一个director中密码相同 Monitor = yes } # # "Global" File daemon configuration specifications # FileDaemon { # this is me Name = zdy1.cluster.com-fd FDport = 9102 # where we listen for the director WorkingDirectory = /usr/local/bacula/opt/bacula/working Pid Directory = /var/run Maximum Concurrent Jobs = 20 }
此时配置文件已经修改完毕,测试一下:
启动:bacula start
# bacula restart Stopping the Bacula File daemon Stopping the Bacula Storage daemon Stopping the Bacula Director daemon Starting the Bacula Storage daemon Starting the Bacula File daemon Starting the Bacula Director daemon
进入控制台:bconsole
a、执行备份的命令,我在/test目录下创建了几个文件
[root@zdy1 test]# ls
test1 test2
# bconsole Connecting to Director zdy1:9101 1000 OK: zdy1.cluster.com-dir Version: 5.2.13 (19 February 2013) 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: Backuplocalhost 2: Restorelocahost Select Job resource (1-2): 1 ###############选择备份 Run Backup job JobName: Backuplocalhost Level: Incremental Client: zdy1.cluster.com-fd FileSet: Full Set Pool: File (From Job resource) Storage: File (From Job resource) When: 2017-10-15 16:35:29 Priority: 10 OK to run? (yes/mod/no): yes Job queued. JobId=10 You have messages. * *wait #########等待 *messages ########## 查看信息 15-Oct 16:35 zdy1.cluster.com-dir JobId 10: No prior Full backup Job record found. 15-Oct 16:35 zdy1.cluster.com-dir JobId 10: No prior or suitable Full backup found in catalog. Doing FULL backup. 15-Oct 16:35 zdy1.cluster.com-dir JobId 10: Start Backup JobId 10, Job=Backuplocalhost.2017-10-15_16.35.31_03 15-Oct 16:35 zdy1.cluster.com-dir JobId 10: Using Device "FileStorage" to write. 15-Oct 16:35 zdy1.cluster.com-sd JobId 10: Volume "local" previously written, moving to end of data. 15-Oct 16:35 zdy1.cluster.com-sd JobId 10: Ready to append to end of Volume "local" size=2366 15-Oct 16:35 zdy1.cluster.com-sd JobId 10: Elapsed time=00:00:01, Transfer rate=71 Bytes/second 15-Oct 16:35 zdy1.cluster.com-dir JobId 10: Bacula zdy1.cluster.com-dir 5.2.13 (19Jan13): Build OS: x86_64-unknown-linux-gnu redhat (Core) JobId: 10 Job: Backuplocalhost.2017-10-15_16.35.31_03 Backup Level: Full (upgraded from Incremental) Client: "zdy1.cluster.com-fd" 5.2.13 (19Jan13) x86_64-unknown-linux-gnu,redhat,(Core) FileSet: "Full Set" 2017-10-15 13:21:03 Pool: "File" (From Job resource) Catalog: "MyCatalog" (From Client resource) Storage: "File" (From Job resource) Scheduled time: 15-Oct-2017 16:35:29 Start time: 15-Oct-2017 16:35:33 End time: 15-Oct-2017 16:35:33 Elapsed time: 0 secs Priority: 10 FD Files Written: 1 SD Files Written: 1 FD Bytes Written: 0 (0 B) SD Bytes Written: 71 (71 B) Rate: 0.0 KB/s Software Compression: None VSS: no Encryption: no Accurate: no Volume name(s): local Volume Session Id: 1 Volume Session Time: 1508056491 Last Volume Bytes: 2,877 (2.877 KB) Non-fatal FD errors: 0 SD Errors: 0 FD termination status: OK SD termination status: OK Termination: Backup OK 15-Oct 16:35 zdy1.cluster.com-dir JobId 10: Begin pruning Jobs older than 2 months . 15-Oct 16:35 zdy1.cluster.com-dir JobId 10: No Jobs found to prune. 15-Oct 16:35 zdy1.cluster.com-dir JobId 10: Begin pruning Files. 15-Oct 16:35 zdy1.cluster.com-dir JobId 10: No Files found to prune. 15-Oct 16:35 zdy1.cluster.com-dir JobId 10: End auto prune. *
备份成功,我将/test下的几个文件删除掉
rm -rf /test*
b、还原测试:
*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): 5 ####选择5进行最近的备份工作还原 Defined Clients: 1: zdy1.cluster.com-fd Select the Client (1-3): 1 ###选择需要还原的客户端(相当于本机) Automatically selected FileSet: Full Set +-------+-------+----------+----------+---------------------+------------+ | JobId | Level | JobFiles | JobBytes | StartTime | VolumeName | +-------+-------+----------+----------+---------------------+------------+ | 10 | F | 1 | 0 | 2017-10-15 16:35:33 | local | | 11 | I | 3 | 0 | 2017-10-15 16:42:28 | local | +-------+-------+----------+----------+---------------------+------------+ You have selected the following JobIds: 10,11 Building directory tree for JobId(s) 10,11 ... 2 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: / ##到这里差不多还原已经成功了 $ ls #查看还原目录 test/ $ cd test cwd is: /test/ $ ls #查看需要还原的文件 test1 test2 $ cd .. cwd is: / $ mark test* ##还原test以及test目录下所有文件 3 files marked. $ cd test cwd is: /test/ $ ls *test1 *test2 $ done ####结束还原 Bootstrap records written to /usr/local/bacula/opt/bacula/working/zdy1.cluster.com-dir.restore.1.bsr The job will require the following Volume(s) Storage(s) SD Device(s) =========================================================================== local File FileStorage Volumes marked with "*" are online. 3 files selected to be restored. The defined Restore Job resources are: 1: Restorelocahost Select Restore Job (1-3): 1 ###选择还原本机 Run Restore job JobName: Restorelocahost Bootstrap: /usr/local/bacula/opt/bacula/working/zdy1.cluster.com-dir.restore.1.bsr Where: /home/bacula-restores Replace: always FileSet: Full Set Backup Client: zdy1.cluster.com-fd Restore Client: zdy1.cluster.com-fd Storage: File When: 2017-10-15 16:44:51 Catalog: MyCatalog Priority: 10 Plugin Options: *None* OK to run? (yes/mod/no): yes Job queued. JobId=12 * * *wait * *message 15-Oct 16:42 zdy1.cluster.com-dir JobId 11: Start Backup JobId 11, Job=Backuplocalhost.2017-10-15_16.42.26_05 15-Oct 16:42 zdy1.cluster.com-dir JobId 11: Using Device "FileStorage" to write. 15-Oct 16:42 zdy1.cluster.com-sd JobId 11: Volume "local" previously written, moving to end of data. 15-Oct 16:42 zdy1.cluster.com-sd JobId 11: Ready to append to end of Volume "local" size=2877 15-Oct 16:42 zdy1.cluster.com-sd JobId 11: Elapsed time=00:00:01, Transfer rate=255 Bytes/second 15-Oct 16:42 zdy1.cluster.com-dir JobId 11: Bacula zdy1.cluster.com-dir 5.2.13 (19Jan13): Build OS: x86_64-unknown-linux-gnu redhat (Core) JobId: 11 Job: Backuplocalhost.2017-10-15_16.42.26_05 Backup Level: Incremental, since=2017-10-15 16:35:33 Client: "zdy1.cluster.com-fd" 5.2.13 (19Jan13) x86_64-unknown-linux-gnu,redhat,(Core) FileSet: "Full Set" 2017-10-15 13:21:03 Pool: "File" (From Job resource) Catalog: "MyCatalog" (From Client resource) Storage: "File" (From Job resource) Scheduled time: 15-Oct-2017 16:42:23 Start time: 15-Oct-2017 16:42:28 End time: 15-Oct-2017 16:42:28 Elapsed time: 0 secs Priority: 10 FD Files Written: 3 SD Files Written: 3 FD Bytes Written: 0 (0 B) SD Bytes Written: 255 (255 B) Rate: 0.0 KB/s Software Compression: None VSS: no Encryption: no Accurate: no Volume name(s): local Volume Session Id: 2 Volume Session Time: 1508056491 Last Volume Bytes: 3,620 (3.620 KB) Non-fatal FD errors: 0 SD Errors: 0 FD termination status: OK SD termination status: OK Termination: Backup OK 15-Oct 16:42 zdy1.cluster.com-dir JobId 11: Begin pruning Jobs older than 2 months . 15-Oct 16:42 zdy1.cluster.com-dir JobId 11: No Jobs found to prune. 15-Oct 16:42 zdy1.cluster.com-dir JobId 11: Begin pruning Files. 15-Oct 16:42 zdy1.cluster.com-dir JobId 11: No Files found to prune. 15-Oct 16:42 zdy1.cluster.com-dir JobId 11: End auto prune. 15-Oct 16:44 zdy1.cluster.com-dir JobId 12: Start Restore Job Restorelocahost.2017-10-15_16.44.53_06 15-Oct 16:44 zdy1.cluster.com-dir JobId 12: Using Device "FileStorage" to read. 15-Oct 16:44 zdy1.cluster.com-sd JobId 12: Ready to read from volume "local" on device "FileStorage" (/tmp). 15-Oct 16:44 zdy1.cluster.com-sd JobId 12: Forward spacing Volume "local" to file:block 0:2877. 15-Oct 16:44 zdy1.cluster.com-sd JobId 12: End of Volume at file 0 on device "FileStorage" (/tmp), Volume "local" 15-Oct 16:44 zdy1.cluster.com-sd JobId 12: End of all volumes. 15-Oct 16:44 zdy1.cluster.com-dir JobId 12: Bacula zdy1.cluster.com-dir 5.2.13 (19Jan13): Build OS: x86_64-unknown-linux-gnu redhat (Core) JobId: 12 Job: Restorelocahost.2017-10-15_16.44.53_06 Restore Client: zdy1.cluster.com-fd Start time: 15-Oct-2017 16:44:55 End time: 15-Oct-2017 16:44:55 Files Expected: 3 Files Restored: 3 Bytes Restored: 0 Rate: 0.0 KB/s FD Errors: 0 FD termination status: OK SD termination status: OK Termination: Restore OK 15-Oct 16:44 zdy1.cluster.com-dir JobId 12: Begin pruning Jobs older than 2 months . 15-Oct 16:44 zdy1.cluster.com-dir JobId 12: No Jobs found to prune. 15-Oct 16:44 zdy1.cluster.com-dir JobId 12: Begin pruning Files. 15-Oct 16:44 zdy1.cluster.com-dir JobId 12: No Files found to prune. 15-Oct 16:44 zdy1.cluster.com-dir JobId 12: End auto prune. *
还原成功,本机的/home/bacula-restores下有还原的文件
2、测试备份以及还原远程客户端的文件:
首先,我们在服务器的bacula-dir.conf文件的最后面加入以下脚本:
@|"sh -c 'for f in /usr/local/bacula/etc/conf.d/*.conf ; do echo @${f} ; done'"
以上脚本的作用是将自定义的客户端备份还原任务写到另外一个文件中,有利于阅读以及方便管理
然后在/usr/local/bacula/etc/下创建conf.d文件,在conf.d目录里创建备份以及还原任务:
[root@zdy1 etc]# cd conf.d/
[root@zdy1 conf.d]# ls
client172.conf
定义客户端的备份以及还原任务:
在client172.conf文文件中
Pool { #自定义存储条件 Name = zdy2 Pool Type = Backup Recycle = yes AutoPrune = yes Volume Retention = 30 days Maximum Volume Bytes = 50 G Maximum Volumes = 100 Maximum Volume Jobs = 1 Label Format = "${Job}-${Year}-${Month:p/2/0/r}-${Day:p/2/0/r}-id${JobId}" } Client { #定义进行备份以及还原操作的远程客户端 Name = zdy2.cluster.com-fd Address = 172.16.13.172 FDPort = 9102 Catalog = MyCatalog Password = "cerU/APZwPP2zVSfrZuU+Y4osaZH5xrdEIwrpkCXqUMW" #此密码与客户端的bacula-fd.conf中的第一个director中密码相同 File Retention = 30 days Job Retention = 2 months AutoPrune = yes } Job { #定义备份任务 Name = zdy2-backup Type = Backup Level = Incremental Client = zdy2.cluster.com-fd FileSet = "Full Set" Schedule = WeeklyCycle Storage = File Messages = Standard Pool = zdy2 SpoolAttributes = yes Priority = 10 Write Bootstrap = /opt/bacula/working/%c.bsr } Job { #定义还原任务 Name = zdy2-restore Type = Restore Client = zdy2.cluster.com-fd FileSet = "Full Set" Storage = File Pool = zdy2 Messages = Standard Where = /home/bacula-restores #定义还原到客户端的哪个目录(默认是这个,可以自己定义) }
接下来修改远程客户端zdy2的bacula-fd.conf文件:
# Director { Name = zdy1.cluster.com-dir Password = "cerU/APZwPP2zVSfrZuU+Y4osaZH5xrdEIwrpkCXqUMW" #此密码和在服务器中(client172.conf)定义的客户端密码相同 } Director { Name = zdy1.cluster.com-mon Password = "qYhhy5PNCZTgW/nzE1JYiPRr+fBmUYR93uqLIyFNCDR1" #服务器zdy1中dir.conf中的第一个director密码 Monitor = yes } FileDaemon { # this is me Name = zdy2.cluster.com-fd FDport = 9102 # where we listen for the director WorkingDirectory = /usr/local/bacula/opt/bacula/working Pid Directory = /var/run Maximum Concurrent Jobs = 20 }
在客户端zdy2中创建文件:
[root@zdy2 test]# ls
test1 test2
修改完成后,重启服务器端和客户端的bacula
在服务器端进行备份操作:
# bconsole Connecting to Director zdy1:9101 1000 OK: zdy1.cluster.com-dir Version: 5.2.13 (19 February 2013) 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: Backuplocalhost 2: Restorelocahost 3: BackupCatalog 4: zdy2-backup 5: zdy2-restore Select Job resource (1-5): 4 #选择备份客户端zdy2 Run Backup job JobName: zdy2-backup Level: Incremental Client: zdy2.cluster.com-fd FileSet: Full Set Pool: zdy2 (From Job resource) Storage: File (From Job resource) When: 2017-10-15 17:06:18 Priority: 10 OK to run? (yes/mod/no): yes Job queued. JobId=13 * *wait ############# You have messages. * *messages ####查看信息 15-Oct 17:06 zdy1.cluster.com-dir JobId 13: Start Backup JobId 13, Job=zdy2-backup.2017-10-15_17.06.20_03 15-Oct 17:06 zdy1.cluster.com-dir JobId 13: Created new Volume "zdy2-backup-2017-10-15-id13" in catalog. 15-Oct 17:06 zdy1.cluster.com-dir JobId 13: Using Device "FileStorage" to write. 15-Oct 17:06 zdy1.cluster.com-sd JobId 13: Labeled new Volume "zdy2-backup-2017-10-15-id13" on device "FileStorage" (/tmp). 15-Oct 17:06 zdy1.cluster.com-sd JobId 13: Wrote label to prelabeled Volume "zdy2-backup-2017-10-15-id13" on device "FileStorage" (/tmp) 15-Oct 17:06 zdy1.cluster.com-dir JobId 13: Max Volume jobs=1 exceeded. Marking Volume "zdy2-backup-2017-10-15-id13" as Used. 15-Oct 17:06 zdy1.cluster.com-sd JobId 13: Elapsed time=00:00:01, Transfer rate=255 Bytes/second 15-Oct 17:06 zdy1.cluster.com-sd JobId 13: Sending spooled attrs to the Director. Despooling 680 bytes ... 15-Oct 17:06 zdy1.cluster.com-dir JobId 13: Bacula zdy1.cluster.com-dir 5.2.13 (19Jan13): Build OS: x86_64-unknown-linux-gnu redhat (Core) JobId: 13 Job: zdy2-backup.2017-10-15_17.06.20_03 Backup Level: Incremental, since=2017-10-15 14:24:22 Client: "zdy2.cluster.com-fd" 5.2.13 (19Jan13) x86_64-unknown-linux-gnu,redhat,(Core) FileSet: "Full Set" 2017-10-15 13:21:03 Pool: "zdy2" (From Job resource) Catalog: "MyCatalog" (From Client resource) Storage: "File" (From Job resource) Scheduled time: 15-Oct-2017 17:06:18 Start time: 15-Oct-2017 17:06:23 End time: 15-Oct-2017 17:06:23 Elapsed time: 0 secs Priority: 10 FD Files Written: 3 SD Files Written: 3 FD Bytes Written: 0 (0 B) SD Bytes Written: 255 (255 B) Rate: 0.0 KB/s Software Compression: None VSS: no Encryption: no Accurate: no Volume name(s): zdy2-backup-2017-10-15-id13 Volume Session Id: 1 Volume Session Time: 1508058353 Last Volume Bytes: 959 (959 B) Non-fatal FD errors: 0 SD Errors: 0 FD termination status: OK SD termination status: OK Termination: Backup OK 15-Oct 17:06 zdy1.cluster.com-dir JobId 13: Begin pruning Jobs older than 2 months . 15-Oct 17:06 zdy1.cluster.com-dir JobId 13: No Jobs found to prune. 15-Oct 17:06 zdy1.cluster.com-dir JobId 13: Begin pruning Files. 15-Oct 17:06 zdy1.cluster.com-dir JobId 13: No Files found to prune. 15-Oct 17:06 zdy1.cluster.com-dir JobId 13: End auto prune. *
备份成功
删除/test中的文件,
[root@zdy2 test]# ls
test1 test2
[root@zdy2 test]# rm ./* -rf
[root@zdy2 test]# ls
[root@zdy2 test]#
还原:在服务器端zdy1操作
*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): 5 #########选择还原最近备份文件 Defined Clients: 1: zdy1.cluster.com-fd 2: zdy2.cluster.com-fd Select the Client (1-2): 2 ##选择相应的客户端 Automatically selected FileSet: Full Set +-------+-------+----------+----------+---------------------+-----------------------------+ | JobId | Level | JobFiles | JobBytes | StartTime | VolumeName | +-------+-------+----------+----------+---------------------+-----------------------------+ | 6 | F | 5 | 0 | 2017-10-15 14:24:22 | zdy2-backup-2017-10-15-id6 | | 13 | I | 3 | 0 | 2017-10-15 17:06:23 | zdy2-backup-2017-10-15-id13 | +-------+-------+----------+----------+---------------------+-----------------------------+ You have selected the following JobIds: 6,13 Building directory tree for JobId(s) 6,13 ... 6 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: / $ ls #进入到还原目录中 test/ $ cd test cwd is: /test/ $ ls #查看需要还原的文件 test1 test2 $ cd .. cwd is: / $ mark test* #还原目录以及目录下的所有文件 3 files marked. $ cd test cwd is: /test/ $ ls *test1 *test2 #*号代表还原成功 $ done #结束 Bootstrap records written to /usr/local/bacula/opt/bacula/working/zdy1.cluster.com-dir.restore.1.bsr The job will require the following Volume(s) Storage(s) SD Device(s) =========================================================================== zdy2-backup-2017-10-15-id6 File FileStorage zdy2-backup-2017-10-15-id13 File FileStorage Volumes marked with "*" are online. 7 files selected to be restored. The defined Restore Job resources are: 1: Restorelocahost 2: zdy2-restore Select Restore Job (1-2): 2 ####选择相应的客户端 Run Restore job JobName: zdy2-restore Bootstrap: /usr/local/bacula/opt/bacula/working/zdy1.cluster.com-dir.restore.1.bsr Where: /home/bacula-restores Replace: always FileSet: Full Set Backup Client: zdy2.cluster.com-fd Restore Client: zdy2.cluster.com-fd Storage: File When: 2017-10-15 17:11:45 Catalog: MyCatalog Priority: 10 Plugin Options: *None* OK to run? (yes/mod/no): yes Job queued. JobId=14 * *wait You have messages. * *messages ####查看还原状态以及信息 15-Oct 17:11 zdy1.cluster.com-dir JobId 14: Start Restore Job zdy2-restore.2017-10-15_17.11.46_04 15-Oct 17:11 zdy1.cluster.com-dir JobId 14: Using Device "FileStorage" to read. 15-Oct 17:11 zdy1.cluster.com-sd JobId 14: Ready to read from volume "zdy2-backup-2017-10-15-id6" on device "FileStorage" (/tmp). 15-Oct 17:11 zdy1.cluster.com-sd JobId 14: Forward spacing Volume "zdy2-backup-2017-10-15-id6" to file:block 0:231. 15-Oct 17:11 zdy1.cluster.com-sd JobId 14: End of Volume at file 0 on device "FileStorage" (/tmp), Volume "zdy2-backup-2017-10-15-id6" 15-Oct 17:11 zdy1.cluster.com-sd JobId 14: Ready to read from volume "zdy2-backup-2017-10-15-id13" on device "FileStorage" (/tmp). 15-Oct 17:11 zdy1.cluster.com-sd JobId 14: Forward spacing Volume "zdy2-backup-2017-10-15-id13" to file:block 0:232. 15-Oct 17:11 zdy1.cluster.com-sd JobId 14: End of Volume at file 0 on device "FileStorage" (/tmp), Volume "zdy2-backup-2017-10-15-id13" 15-Oct 17:11 zdy1.cluster.com-sd JobId 14: End of all volumes. 15-Oct 17:11 zdy1.cluster.com-dir JobId 14: Bacula zdy1.cluster.com-dir 5.2.13 (19Jan13): Build OS: x86_64-unknown-linux-gnu redhat (Core) JobId: 14 Job: zdy2-restore.2017-10-15_17.11.46_04 Restore Client: zdy2.cluster.com-fd Start time: 15-Oct-2017 17:11:48 End time: 15-Oct-2017 17:11:49 Files Expected: 7 Files Restored: 7 Bytes Restored: 0 Rate: 0.0 KB/s FD Errors: 0 FD termination status: OK SD termination status: OK Termination: Restore OK 15-Oct 17:11 zdy1.cluster.com-dir JobId 14: Begin pruning Jobs older than 2 months . 15-Oct 17:11 zdy1.cluster.com-dir JobId 14: No Jobs found to prune. 15-Oct 17:11 zdy1.cluster.com-dir JobId 14: Begin pruning Files. 15-Oct 17:11 zdy1.cluster.com-dir JobId 14: No Files found to prune. 15-Oct 17:11 zdy1.cluster.com-dir JobId 14: End auto prune. *
客户端上验证:
[root@zdy2 test]# cd /home/
[root@zdy2 home]# ls
bacula-restores
[root@zdy2 home]# cd bacula-restores/
[root@zdy2 bacula-restores]# cd test/
[root@zdy2 test]# ls
test1 test2
还原成功!!
相关文章推荐
- 解决最小化安装Centos7后无法上网的问题,以及安装成功后的基本配置
- dns安装与配置,以及基本用法。
- 初识linux之编译安装Nginx以及基本配置
- Git的基本介绍安装以及配置
- ubuntu11.04下apache tftp以及ftp服务器的安装和基本配置
- windows下git安装以及基本配置
- 部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务
- linux上安装apache以及httpd.conf基本配置
- MySQL,重新安装时,配置不成功的原因以及解决办法
- docker 基础安装配置以及swarm 基本操作使用
- 9、数据库初学习,基本安装以及配置、使用方法
- linux命令基本操作以及Java的安装与环境的配置
- 关于Apache服务基本特点以及安装配置指导
- Ubantu16.4的安装过程以及基本配置
- pytorch-0.2成功调用GPU:ubuntu16.04,Nvidia驱动安装以及最新cuda9.0与cudnnV7.0配置
- MySQL5.5.22版本安装配置以及基本命令的使用和管理数据库备份与恢复操作详解
- linux上安装apache以及httpd.conf基本配置
- 在window下安装ubuntu双系统以及ubuntu的基本配置
- DNS基本的理论知识以及简单的安装配置你掌握了吗?
- Vue项目 二、依赖安装以及基本配置