www.bobcloud.net
Ahsay Online Backup Manager v7
MySQL Database Backup & Restore
Linux (CLI)
Ahsay Systems Corporation Limited
26 November 2018
This is the original Ahsay manual
Depending on the service you have with us, some of the content won’t be applicable to you.
Note:
We don’t supply the following services, Open direct, Run Direct,or Run on Server on our
BOBcloud service. These are only provided on our System Provider service.
All accounts must be created on our reseller portal https://portal.data-stor.net
Any Ahsay professional services are provided by them and not us.
Definitions:
Our Desktop version is named ACB \ AhsayACB in this manual.
Our Server version is named OBM \ AhsayOBM in this manual.
The AhsayCBS Web Console is mapped to our own portal https://portal.data-stor.net
www.bobcloud.net
Copyright Notice
© 2018 Ahsay Systems Corporation Limited. All rights reserved.
The use and copying of this product is subject to a license agreement. Any other use is prohibited. No part of this publication
may be reproduced, transmitted, transcribed, stored in a retrieval system or translated into any language in any form by any
means without prior written consent of Ahsay Systems Corporation Limited. Information in this manual is subject to change
without notice and does not represent a commitment on the part of the vendor, Ahsay Systems Corporation Limited does not
warrant that this document is error free. If you find any errors in this document, please report to Ahsay Systems Corporation
Limited in writing.
This product includes software developed by the Apache Software Foundation (http://www.apache.org/).
Trademarks
Ahsay, Ahsay Cloud Backup Suite, Ahsay Online Backup Suite, Ahsay Offsite Backup Server, Ahsay Online Backup Manager,
Ahsay A-Click Backup, Ahsay Replication Server, Ahsay BackupBox Firmware, Ahsay Universal Backup System, Ahsay NAS
Client Utility are trademarks of Ahsay Systems Corporation Limited.
Amazon S3 is registered trademark of Amazon Web Services, Inc. or its affiliates.
Apple and Mac OS X are registered trademarks of Apple Computer, Inc.
Dropbox is registered trademark of Dropbox Inc.
Google Cloud Storage and Google Drive are registered trademarks of Google Inc.
Lotus, Domino, Notes are registered trademark of IBM Corporation.
Microsoft, Windows, Microsoft Exchange Server, Microsoft SQL Server, Microsoft Hyper-V, Microsoft Azure, One Drive and
One Drive for Business are registered trademarks of Microsoft Corporation.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective
owners.
Oracle, Oracle 10g, Oracle 11g and MySQL are registered trademarks of Oracle Corporation.
Rackspace and OpenStack are registered trademarks of Rackspace US, Inc.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo and JBoss are registered trademarks of Red Hat, Inc.
www.redhat.com in the U.S. and other countries. Linux is a registered trademark of Linus Torvalds.
ShadowProtect is registered trademark of StorageCraft Technology Corporation.
VMware, ESX, ESXi, vCenter are registered trademarks of VMware, Inc.
All other product names are registered trademarks of their respective owners.
Disclaimer
Ahsay Systems Corporation Limited will not have or accept any liability, obligation or responsibility whatsoever for any loss,
destruction or damage (including without limitation consequential loss, destruction or damage) however arising from or in
respect of any use or misuse of reliance on this document. By reading and following the instructions in this document, you
agree to accept unconditionally the terms of this Disclaimer and as they may be revised and/or amended from time to time by
Ahsay Systems Corporation Limited without prior notice to you.
www.bobcloud.net
Revision History
Date
Descriptions
Type of modification
30 June 2016
First Draft
New
2 August 2018
Added using AhsayCBS to create a MySQL
Database backup set for Ch. 4
New
20 August 2018
Updated Ch. 2 to include sample for MySQL8,
Updated screen shot in Ch. 4.1
Modification
www.bobcloud.net
Table of Contents
1 System Requirements.....................................................................................................................1
2 Requirements and Recommendations............................................................................................2
3 Starting AhsayOBM ........................................................................................................................4
4 Creating a MySQL Database Backup Set.......................................................................................5
4.1 Using AhsayCBS .......................................................................................................................5
4.2 Using ssh .................................................................................................................................18
5 Overview on the Backup Process .................................................................................................21
6 Running Backup Jobs ...................................................................................................................22
7 Restoring Data ..............................................................................................................................24
7.1 Automatic MySQL Database Restore......................................................................................24
7.2 Manual MySQL Database Restore ..........................................................................................30
7.2.1 Recovering MySQL Databases.........................................................................................32
Appendix...............................................................................................................................................35
Appendix A MySQL Backup Set XML Template (Raw)................................................................35
Appendix B MySQL Backup Set XML Template (with explanation) .............................................42
Appendix C Example of MySQL Database Backup Set (1)..........................................................52
Appendix D Example of MySQL Database Backup Set (2)..........................................................55
www.bobcloud.net 1
1 System Requirements
Refer to the following KB article for the list of supported operating systems & application
versions:
FAQ: Ahsay Software Compatibility List (SCL) for version 7.3 or above (5001)
https://forum.ahsay.com/viewtopic.php?f=169&t=13492
www.bobcloud.net 2
2 Requirements and Recommendations
Please ensure that the following requirements and conditions are met on the MySQL database
server.
1. AhsayOBM is installed on the MySQL database server using the root account.
2. The MySQL database instance is online.
Example: MySQL5.7 on CentOS 73
# service mysqld status
Redirecting to /bin/systemctl status mysqld.service
mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service;
enabled; vendor preset: disabled)
Active: active (running) since Thu 2018-08-16 17:46:31 HKT;
22h ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Main PID: 4302 (mysqld)
CGroup: /system.slice/mysqld.service
└─
4302 /usr/sbin/mysqld --daemonize --pid-
file=/var/run/mysqld/mys...
Aug 16 17:46:29 centos73 systemd[1]: Starting MySQL Server...
Aug 16 17:46:31 centos73 systemd[1]: Started MySQL Server.
3. Check the listening port of the MySQL database instance (default is 3306).
# netstat -pan|more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address
State PID/Program
name
tcp 0 0 0.0.0.0:111 0.0.0.0:*
LISTEN 1/systemd
tcp 0 0 192.168.122.1:53 0.0.0.0:*
LISTEN 1550/dnsmas
q
tcp 0 0 0.0.0.0:22 0.0.0.0:*
LISTEN 1111/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:*
LISTEN 1113/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:*
LISTEN 1374/master
tcp 0 64 10.16.30.68:22 10.90.0.104:55063
ESTABLISHED 27480/sshd:
root@pt
tcp 0 0 10.16.30.68:22 192.168.7.101:50836
ESTABLISHED 24453/sshd:
root@pt
tcp6 0 0 :::111 :::*
LISTEN 1/systemd
www.bobcloud.net 3
tcp6 0 0 :::22 :::*
LISTEN 1111/sshd
tcp6 0 0 ::1:631 :::*
LISTEN 1113/cupsd
tcp6 0 0 ::1:25 :::*
LISTEN 1374/master
tcp6 0 0 :::33060 :::*
LISTEN 25741/mysql
d
tcp6 0 0 :::3306 :::*
LISTEN 25741/mysql
d
4. The mysqldump utility is installed on the MySQL database server.
To locate the mysqldump utility use the whereis command:
# whereis mysqldump
mysqldump: /usr/bin/mysqldump /usr/share/man/man1/mysqldump.1.gz
5. The mysqldump utility is the same version as the MySQL database.
mysqldump version example: MySQL 5.7 on CentOS 73
# mysqldump --version
mysqldump Ver 10.13 Distrib 5.7.17, for Linux (x86_64)
MySQL database version:
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.17 |
+-----------+
1 row in set (0.00 sec)
Example: MySQL 8 on CentOS 74
# mysqldump --version
mysqldump Ver 8.0.11 for Linux on x86_64 (MySQL Community
Server - GPL)
MySQL database version:
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.11 |
+-----------+
1 row in set (0.00 sec)
6. A MySQL database user account with the following privileges must be setup for the
backup operation.
Example: MySQL 5.7
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘username’@’localhost’
IDENTIFIED BY ‘password’;
www.bobcloud.net 4
mysql> GRANT ALL PRIVILEGES ON *.* TO
‘username’@’localhost.localdomain’ IDENTIFIED BY ‘password’;
mysql> FLUSH PRIVILEGES;
For MySQL 8 the use of GRANT to define account authentication characteristic is
deprecated. For more information please refer to the MySQL 8.0 Reference Manual. As
an alternative, you must first create the user and set the authentication characteristic by
using CREATE USER before setting the privileges of the user using GRANT.
Example: MySQL 8
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘username’@’localhost’;
Query OK, 0 rows affected (0.08 sec)
mysql> CREATE USER 'username'@'localhost.localdomain' IDENTIFIED
BY 'password';
Query OK, 0 rows affected (0.46 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO
‘username’@’localhost.localdomain’;
Query OK, 0 rows affected (0.22 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.23 sec)
7. Verify that ‘localhost’ on the MySQL database server is resolvable and ‘localhost’ is
allowed to access the MySQL database instance on the MySQL service listening port
(default 3306).
# ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64
time=0.025 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64
time=0.043 ms
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64
time=0.042 ms
64 bytes from localhost (127.0.0.1): icmp_seq=4 ttl=64
time=0.047 ms
# telnet localhost 3306
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
J
5.6.16vB#'8%/kQ3K\n6``Aemysql_native_password
8. Exclude the 'information_schema' and ‘performance_schema’ databases since they are
MySQL virtual system databases, which contains information about the user databases on
the MySQL instance. They are read-only and cannot be backed up.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| classicmodels |
| employees |
| mysql |
| performance_schema |
| sakila |
| world |
+--------------------+
www.bobcloud.net 5
7 rows in set (0.00 sec)
mysql>
9. The databases selected for backup will be temporarily spooled to a temporary directory
before being uploaded to the backup server or destination storage.
Ensure that the temporary directory configured for the MySQL database backup has
sufficient disk space for the backup operation, the free space on the temporary directory
drive should be at least 130% of the database size. As the temporary directory is also
used for storing index files and any incremental or differential delta files generated during
the backup job before they are uploaded to the backup destination.
Please bear in mind the size of the databases may grow over time and you may need to
review the temporary directory free space requirements on a regular basis.
To calculate for the size of your databases run the command below.
mysql> SELECT table_schema AS "Database", ROUND(SUM(data_length
+ index_length) / 1024 / 1024, 2) AS "Size (MB)" FROM
information_schema.TABLES GROUP BY table_schema;
+-----------------------+-----------+
| Database | Size (MB) |
+-----------------------+-----------+
| categories | 5500.08 |
| customerdemographics | 3705.27 |
| customers | 6221.36 |
| employees | 4809.24 |
| employeeterritories | 4809.24 |
| information_schema | 0.00 |
| mysql | 2.36 |
| orderdetails | 8163.68 |
| orders | 7584.47 |
| performance_schema | 0.00 |
| products | 7564.48 |
| region | 3565.51 |
| shippers | 2894.36 |
| suppliers | 4876.67 |
| sys | 0.02 |
| territories | 6457.02 |
+-----------------------+-----------+
16 rows in set (3.26 sec)
mysql>
www.bobcloud.net 6
3 Starting AhsayOBM
To startup AhsayOBM and connect to AhsayCBS you need to use the RunConfigurator.sh
script, to configure the backup server URL, port and proxy server settings (if applicable) and
enter the user id and password.
# cd /usr/local/obm/bin
# sh RunConfigurator.sh
Startup Ahsay Online Backup Manager ...
User Configuration file not found
Create a new Configuration file at directory
[/root/.obm/config]
Login Menu (No configuration files found)
-----------------------------------------
(1). Login
(2). Free Trial
(3). Quit
-----------------------------------------
Your Choice: 1
Backup Server URL : 10.90.10.84
Port : 443
Protocol? (1) Http (2) Https : 2
Enable Proxy (Y/N) ? N
Login Name : a1
Password : *******************
Please wait while verifying user account with server...
log4j:WARN No appenders could be found for logger
(org.apache.http.impl.conn.PoolingClientConnectionManager).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig
for more info.
Your account (a1) is found on server (10.90.10.84:443).
New configuration file has been created
Main Menu
---------
(1). List Backup Sets
(2). Delete Backup Set
(3). Export Backup Set Settings to XML
(4). Import Backup Set Settings from XML
(5). Generate new Backup Set Settings Template
(6). Change Language [English]
(7). Update Profile Settings
(8). Quit
---------
Your Choice:
www.bobcloud.net 7
4 Creating a MySQL Database Backup Set
There are two ways to create a MySQL Database Backup Set. One is to create it using
AhsayCBS while another way is through ssh.
4.1 Using AhsayCBS
Initial backup set preferences may be configured using AhsayCBS then edited in a ssh to add
the Encryption and Standard Destination settings.
Note: If Predefined Destination is already specified then there is no need to edit the XML file
using ssh. For further details on each field to be configured please refer to Appendix B which
explains each field and Appendix C which provides example for each field.
1. Log in to AhsayCBS and go to User.
www.bobcloud.net 8
2. Go to Backup Set then click Create to create a backup set.
3. Input the Name, select the Type which should be ‘MySQL Backup’. Update the Host and
Port. Default settings for these are ‘localhost’ and ‘3306’ respectively. Input the Path to
mysqldump then click Next.
www.bobcloud.net 9
4. Add the backup source in the Other Selected Source by clicking the Create button e.g.
path is MySQL/test
Input the path of the source to be backed up. Click the Add button to add the source.
Keep doing this until all backup source are added.
To exclude a source you can add it under Deselected Source by clicking the Create
button.
Note: Always add the ‘information_schema’ and ‘performance_schema’ databases under
Deselected Source since they are MySQL virtual system databases. They are read-only
and cannot be backed up.
www.bobcloud.net 10
Input the path of the source to be excluded in the backup. Click the Add button to add the
deselected source. Keep doing this until all source to be excluded are added. Click Next.
5. The Run scheduled backup for this backup set is turned on by default. If you do not
want to create a backup schedule you can turn it off by sliding the lever to the left. By
default there is already a backup schedule created that is scheduled to run daily at 3am
until full backup is completed. This schedule may either be edited or deleted if you want
to create your own backup schedule.
Note: It is optional to input the computer name in the Run scheduled backup on
computers named field since it will be updated once backup set creation is completed in
AhsayOBM client. In Step 16, the computer name can be checked as the Owner.
www.bobcloud.net 11
6. Input the Name for the backup schedule. Select the type whether Daily, Weekly, Monthly
or Custom. For the Daily, select the time back up will start.
For the Weekly, select the day of the week and time the backup will start.
For the Monthly, select the day of the month and time backup will start. You can also
create a schedule where you will choose the week and day of the week the backup will
start e.g. every First Sunday of every month
www.bobcloud.net 12
For Custom, you can specify the exact date and time the backup will start.
Check the box if you opt to Run Retention Policy after backup. Click the Add button to
create the backup schedule. Then click Next.
7. Select the Backup Mode if Concurrent or Sequential. By default Sequential is selected
since only one backup set is being created. In Sequential backup mode, if there are
multiple destinations configured in the backup set, AhsayOBM will backup to one
destination at a time. In Concurrent backup mode, if there are multiple destinations
configured in the backup set, AhsayOBM will backup to all destinations at the same time
or concurrently.
Note: For backup sets with multiple destinations, sequential backup mode will take
longer compared with concurrent backup mode.
www.bobcloud.net 13
If Concurrent is selected, specify the maximum number of backup destinations.
Only Predefined Destination may be added here. If it is a standard destination it must
be set up in AhsayOBM client. Then click Next.
8. Leave the Domain Name / Host Name and User name fields blank since Windows User
Authentication is not supported in Linux. Click Save to create the Backup Set.
www.bobcloud.net 14
9. Click on the backup set you just created.
Go to Others and input the path of your temporary directory. Check the box beside
Remove temporary files after backup if you want it removed. You can also change the
settings for the Compressions.
Note: Only do the succeeding steps if there is no Predefined Destination specified in the
backup set. Otherwise you may proceed to starting your AhsayOBM.
www.bobcloud.net 15
10. Open ssh session in the Linux machine and execute the RunConfigurator.sh script. The
Login Menu will be displayed. Select (1). Login then press Enter to login. Input your
Login Name and Password. Set the encryption setting for the backup set.
# sh RunConfigurator.sh
Startup Ahsay Online Backup Manager ...
Config file found
Login Menu
----------
(1). Login
(2). Change Network Settings
(3). Forgot Password
(4). Quit
----------
Your Choice: 1
Login Name : a1
Password : *******************
Please wait while verifying user account with server...
log4j:WARN No appenders could be found for logger
(org.apache.http.impl.conn.PoolingClientConnectionManager).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See
http://logging.apache.org/log4j/1.2/faq.html#noconfig for more
info.
Your profile has been downloaded and updated.
Encryption setting has not been defined for backup set "MySQL
Daily"
Do you want to set the encryption setting for this backup set?
(Y/N) ? Y
Enable Encryption (Y/N) ? Y
Choose Encryption Type
----------------------
(1). Default
(2). User password
(3). Custom
----------------------
Your Choice: 2
11. Edit the backup set created from AhsayCBS to add the Destination Setting and MySQL
Password. Select (1). List Backup Sets to list the backup set.
Main Menu
---------
(1). List Backup Sets
(2). Delete Backup Set
(3). Export Backup Set Settings to XML
(4). Import Backup Set Settings from XML
(5). Generate new Backup Set Settings Template
(6). Change Language [English]
(7). Update Profile Settings
(8). Quit
---------
Your Choice: 1
www.bobcloud.net 16
12. Select the backup set to show the details by selecting (1). Name of your backup set
Select a Backup Set to show more details
----------------------------------------
(1). MySQL Daily
----------------------------------------
Your Choice: 1
Name : MySQL Daily
Owner : centos73
Type : MySQL
Selected Source : MySQL/employees
Selected Source : MySQL/test
Deselected Source : MySQL/information_schema
Deselected Source : MySQL/performance_schema
Deselected Source : MySQL/mysql
Encryption Key : abc123$%
Encryption Algorithm : AES
Encryption Mode : CBC
Encryption Key Length: 256
Press Enter to continue...
13. Export the backup set to XML by selecting (3). Export Backup Set Setting to XML
Main Menu
---------
(1). List Backup Sets
(2). Delete Backup Set
(3). Export Backup Set Settings to XML
(4). Import Backup Set Settings from XML
(5). Generate new Backup Set Settings Template
(6). Change Language [English]
(7). Update Profile Settings
(8). Quit
---------
Your Choice: 3
Choose your backup set to generate XML file
-------------------------------------------
(1). MySQL Daily
-------------------------------------------
Your Choice: 1
XML file successfully exported to
/root/.obm/config/backupSet.xml
www.bobcloud.net 17
14. Exit from the Main Menu then edit the XML file by using the vi editor. Add the Value data
for MySQL Password and Destination Settings to the file then save.
# cd /root/.obm/config
# vi backupSet.xml
<!-- MySQL Password -->
<Value data="abc123$%" name="Password" type="string" />
<!-- This is the collection of destinations -->
<Key name="Destination Settings">
<!-- Concurrency level is the number of destinations to run
backup concurrently -->
<!-- 2, 3, 4... -->
<!-- 1 : Backup to destinations one by one sequentially -->
<!-- -1: Backup to all destinations concurrently -->
<Value data="-1" name="Concurrency Level" type="integer"
/>
<!-- CBS destination where the files are backup to server -->
<Key name="AhsayCBS Destination Settings">
</Key>
</Key>
15. Import the backup set by selecting (4). Import Backup Set Setting from XML. Confirm
overwrite of file.
Main Menu
---------
(1). List Backup Sets
(2). Delete Backup Set
(3). Export Backup Set Settings to XML
(4). Import Backup Set Settings from XML
(5). Generate new Backup Set Settings Template
(6). Change Language [English]
(7). Update Profile Settings
(8). Quit
---------
Your Choice: 4
Backup Set 'MySQL Daily' already exist. Confirm overwrite?
(Y/N) ? Y
XML imported, uploading to server...
XML successfully uploaded to server
16. Check if Destination Name and Encryption Key was successfully added.
Main Menu
---------
(1). List Backup Sets
(2). Delete Backup Set
(3). Export Backup Set Settings to XML
(4). Import Backup Set Settings from XML
(5). Generate new Backup Set Settings Template
(6). Change Language [English]
(7). Update Profile Settings
(8). Quit
---------
Your Choice: 1
www.bobcloud.net 18
Select a Backup Set to show more details
----------------------------------------
(1). MySQL Daily
----------------------------------------
Your Choice: 1
Name : MySQL Daily
Owner : centos73
Type : MySQL
Selected Source : MySQL/employees
Selected Source : MySQL/test
Deselected Source : MySQL/information_schema
Deselected Source : MySQL/performance_schema
Deselected Source : MySQL/mysql
Destination Name : AhsayCBS, Type: OBS
Encryption Key : abc123$%
Encryption Algorithm : AES
Encryption Mode : CBC
Encryption Key Length: 256
Press Enter to continue...
17. Check in AhsayCBS web console if MySQL Password, Destination Name and Encryption
setting was successfully added.
www.bobcloud.net 19
www.bobcloud.net 20
4.2 Using ssh
1. To create a MySQL database backup set select (5). Generate new Backup Set Settings
Template from the menu.
Main Menu
---------
(1). List Backup Sets
(2). Delete Backup Set
(3). Export Backup Set Settings to XML
(4). Import Backup Set Settings from XML
(5). Generate new Backup Set Settings Template
(6). Change Language [English]
(7). Update Profile Settings
(8). Quit
---------
Your Choice: 5
2. Select (2). MySQL Database to generate a MySQL Database Backup Set template file to
/root/.obm/config directory.
Choose a template from a backup set type
----------------------------------------
(1). File
(2). MySQL Database
(3). Oracle Database Server
(4). IBM Domino
----------------------------------------
Your Choice: 2
XML file successfully exported to
/root/.obm/config/backupSet.xml
Main Menu
---------
(1). List Backup Sets
(2). Delete Backup Set
(3). Export Backup Set Settings to XML
(4). Import Backup Set Settings from XML
(5). Generate new Backup Set Settings Template
(6). Change Language [English]
(7). Update Profile Settings
(8). Quit
---------
Your Choice:
www.bobcloud.net 21
3. Configuring MySQL Backup Set Settings.
To configure the MySQL backup set setting you need to edit the
/root/.obm/config/backupSet.xml file using a text editor, for example vi
You can either quit the RunConfigurator.sh script or open a new ssh session to edit the
backupSet.xml file.
Please refer to Appendix A, B, C, and D for details and examples on how to create
backup sets using the backupSet.xml file.
Notes:
i. Before importing the backupSet.xml file please remove any unused destinations and
backup schedule settings. Otherwise the following error will be displayed "Failed to
import XML file (Reason: Value of Name is empty!)" when trying to import the
backupSet.xml file.
ii. Setup of the following cloud storage destinations; OneDrive, OneDrive For Business,
DropBox, and Google Drive are not supported in Linux CLI environment, as these
cloud storage destinations require authentication using a web browser.
4. Importing the updated backupSet.xml file to AhsayOBM
After you have edited the backupSet.xml file with your chosen backup settings you need to
import the settings back to AhsayOBM so they can be uploaded to AhsayCBS backup
server in order to create the backup set.
For example: to create a new MySQL backup set called “MySQL Database 1” with
encryption enabled and default encryption settings.
Main Menu
---------
(1). List Backup Sets
(2). Delete Backup Set
(3). Export Backup Set Settings to XML
(4). Import Backup Set Settings from XML
(5). Generate new Backup Set Settings Template
(6). Change Language [English]
(7). Update Profile Settings
(8). Quit
---------
Your Choice: 4
New backup set created.
Enable Encryption (Y/N) ? y
Choose Encryption Type
----------------------
(1). Default
(2). User password
(3). Custom
----------------------
Your Choice: 1
XML imported, uploading to server...
XML successfully uploaded to server
www.bobcloud.net 22
5. Verify the Backup Set Settings
To verify the uploaded backup set settings are correct select (1). List Backup Sets and
then select the backup you wish to verify, for example backup set named “MySQL
Database 1”.
Main Menu
---------
(1). List Backup Sets
(2). Delete Backup Set
(3). Export Backup Set Settings to XML
(4). Import Backup Set Settings from XML
(5). Generate new Backup Set Settings Template
(6). Change Language [English]
(7). Update Profile Settings
(8). Quit
---------
Your Choice: 1
Select a Backup Set to show more details
----------------------------------------
(1). MySQL Database 1
----------------------------------------
Your Choice: 1
Name : MySQL Database 1
Owner : centos73
Type : MySQL
Selected Source : MySQL/employees
Selected Source : MySQL/test
Deselected Source : MySQL/information_schema
Deselected Source : MySQL/performance_schema
Deselected Source : MySQL/mysql
Destination Name : AhsayCBS, Type: OBS
Encryption Key :
E9jyw2Blxvxlgm+WXt8Rja3WzpzWcFcVBr2ZuVPTeSc=
Encryption Algorithm : AES
Encryption Mode : CBC
Encryption Key Length: 256
Press Enter to continue...
Congratulations! The backup set configuration is now complete!
Notes:
i. We would like to stress that it is very important to keep a separate record of your
encryption key in a safe place, as you will not be able to restore your data without the
correct key.
ii. If you re-install AhsayOBM or install AhsayOBM on another machine the encryption
will be required for restoring data from the backup set.
www.bobcloud.net 23
5 Overview on the Backup Process
The following steps are performed during a MySQL database backup job:
www.bobcloud.net 24
6 Running Backup Jobs
Use the RunBackupSet.sh script to start a backup job manually.
Example: RunBackupSet.sh <backupset name>
# cd /usr/local/obm/bin
# sh RunBackupSet.sh "MySQL Daily"
Using APP_HOME : /usr/local/obm
Using SETTING_HOME :
Using JAVA_HOME : /usr/local/obm/jvm
Using JAVA_EXE : /usr/local/obm/jvm/bin/java
Using JAVA_OPTS : -Xrs -Xms128m -Xmx768m -client -
Dsun.nio.PageAlignDirectMemory=true
Using JNI_PATH : -Djava.library.path=.
Using CLASSPATH : .:./cb.jar
-
Running Backup Set - 'MySQL Daily' ...
log4j:WARN No appenders could be found for logger
(org.apache.http.impl.conn.PoolingClientConnectionManager).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig
for more info.
[2018/08/20 14:58:13] [info] [-] Start [ Linux 3.10.0-
514.10.2.el7.x86_64 (centos73), AhsayOBM v7.17.0.0 ]
[2018/08/20 14:58:14] [info] [-] Saving encrypted backup set
encryption keys to server...
[2018/08/20 14:58:15] [info] [1534747810917] Start Backup ...
Database [In-File Delta: Full]
[2018/08/20 14:58:15] [info] [1534747810917] Using Temporary
Directory /root/temp/1534740290305/OBS@1534747810917
[2018/08/20 14:58:15] [info] [-] Start running pre-commands
[2018/08/20 14:58:15] [info] [-] Finished running pre-commands
[2018/08/20 14:58:15] [info] [-] [Start] Backing up database
"employees" to
"/root/temp/1534740290305/SpoolArea/MySQL/employees.sql"
[2018/08/20 14:58:16] [info] [-] [End]
[2018/08/20 14:58:16] [info] [-] [Start] Backing up database "test"
to "/root/temp/1534740290305/SpoolArea/MySQL/test.sql"
[2018/08/20 14:58:16] [info] [-] [End]
[2018/08/20 14:58:16] [info] [-] Start running post-commands
[2018/08/20 14:58:16] [info] [-] Finished running post-commands
[2018/08/20 14:58:25] [info] [1534747810917] Downloading server file
list...
[2018/08/20 14:58:26] [info] [1534747810917] Downloading server file
list... Completed
[2018/08/20 14:58:27] [info] [1534747810917] Reading backup source
from hard disk...
[2018/08/20 14:58:27] [info] [1534747810917] Reading backup source
from hard disk... Completed
[2018/08/20 14:58:28] [info] [1534747810917] [New Directory]...
MySQL
[2018/08/20 14:58:28] [info] [1534747810917] [New File]... 100% of
"MySQL/employees.sql"
[2018/08/20 14:58:28] [info] [1534747810917] [New File]... 100% of
"MySQL/test.sql"
[2018/08/20 14:58:29] [info] [1534747810917] Total New Files = 2
[2018/08/20 14:58:29] [info] [1534747810917] Total New Directories =
1
[2018/08/20 14:58:29] [info] [1534747810917] Total New Links = 0
[2018/08/20 14:58:29] [info] [1534747810917] Total Updated Files = 0
www.bobcloud.net 25
[2018/08/20 14:58:29] [info] [1534747810917] Total Deleted Files = 0
[2018/08/20 14:58:29] [info] [1534747810917] Total Deleted
Directories = 0
[2018/08/20 14:58:29] [info] [1534747810917] Total Deleted Links = 0
[2018/08/20 14:58:29] [info] [1534747810917] Total Moved Files = 0
[2018/08/20 14:58:29] [info] [-] Deleting temporary file
/root/temp/1534740290305/SpoolArea
[2018/08/20 14:58:30] [info] [1534747810917] Saving encrypted backup
file index to 1534740290305/blocks at destination AhsayCBS...
[2018/08/20 14:58:30] [info] [1534747810917] Saving encrypted backup
file index to 1534740290305/blocks/2018-08-20-14-58-00 at
destination AhsayCBS...
[2018/08/20 14:58:34] [info] [1534747810917] Deleting temporary file
/root/temp/1534740290305/OBS@1534747810917
[2018/08/20 14:58:34] [info] [1534747810917] Backup Completed
Successfully
www.bobcloud.net 26
7 Restoring Data
7.1 Automatic MySQL Database Restore
1. To restore files from your backup destination and automatically apply them to the MySQL
database server.
You need to use the Restore.sh script by using a text editor like vi to configure the
restore settings like :
Backup Set Name -> BACKUP_SET=""
Backup Destination -> DESTINATION=""
Files/Folders to be Restored -> RESTORE_FROM=""
Snapshot to be restored ->POINT_IN_TIME=""
Applying the original permission to the restore files -
>RESTORE_PERMISSION=""
Note: RESTORE_TO="" settings must be blank
# cd /usr/local/obm/bin
# vi Restore.sh
#!/bin/sh
################## Restore.sh ##############################
# You can use this shell script to restore backup files using
command-line. #
# Just customize the "User Define Section" below with values
for your restore #
# action.
#
#############################################################
############# Start: User Defined Section #################
# --------------------- BACKUP_SET -------------------------
-----
# | The name or ID of the backup set that you want to restore.
# | If backup set name is not in English, please use ID
instead.
# | e.g. BACKUP_SET="1119083740107"
# | or BACKUP_SET="FileBackupSet-1"
# |
# | You can leave this parameter blank if you have only 1
backup set.
# ------------------------------------------------------------
BACKUP_SET="MySQL Daily"
# ------------------- DESTINATION --------------------------
-
# The name or ID of the backup destination that you want to
restore from.
# If backup destination name is not in English, please use ID
instead.
# | e.g. DESTINATION="1740107119083"
# | or DESTINATION="Destination-1"
www.bobcloud.net 27
# |
# | You can leave this parameter blank if you have only 1
destination.
# ------------------------------------------------------------
-
DESTINATION=""
# ------------------- RESTORE_TO ---------------------------
-
# | Directory to where you want files to be restored
# | set to "" to restore files to original location
# | e.g. RESTORE_TO="/tmp"
# ------------------------------------------------------------
-
RESTORE_TO="/root/restored"
# --------------------- RESTORE_FROM -----------------------
--
# | File/Directory on the backup server that you would like to
restore
# | e.g. RESTORE_FROM="/Data"
# ------------------------------------------------------------
-
RESTORE_FROM="MySQL"
# ------------------ POINT_IN_TIME -------------------------
-
# The point-in-time snapshot (successful backup) that you want
to restore |
# from the backup server. Use "Current" for the latest backup
snapshot |
# e.g. POINT_IN_TIME="2006-10-04-12-57-13"
# or POINT_IN_TIME="Current"
#
# You can retrieve the point in time by using the
ListBackupJob.sh
# ------------------------------------------------------------
POINT_IN_TIME="Current"
# -------------- RESTORE_PERMISSION ------------------------
-
# | set to "Y" if you want to restore file permissions
# | set to "N" if you do NOT want to restore file permissions
# ------------------------------------------------------------
---
RESTORE_PERMISSION="N"
# ----------------- SKIP_INVALID_KEY -----------------------
# | set to "Y" if you want to skip restore file with invalid
key |
# | set to "N" if you want to prompt user to input a correct
key |
# ------------------------------------------------------------
-
SKIP_INVALID_KEY="N"
# ------------------- SYNC_OPTION ------------------------
# | Delete extra files
# | set to "Y" if you want to enable sync option
# | set to "N" if you do NOT want to enable sync option
# | set to "" to prompt for selection
# ----------------------------------------------------------
www.bobcloud.net 28
SYNC_OPTION="N"
# ---------------- REPLACE_EXISTING_FILE -----------------
# set to "--all" to replace all existing file(s) of the same
filename
# set to "--none" to skip all existing file(s) with the same
filename
# set to "" to prompt for selection
# -----------------------------------------------------------
REPLACE_EXISTING_FILE="--all"
# --------------- SETTING_HOME ----------------------------
# | Directory to your setting home.
# | Default to ${HOME}/.obm when not set.
# | e.g. SETTING_HOME="${HOME}/.obm"
# -----------------------------------------------------------
SETTING_HOME=""
# ------------------------ FILTER ------------------------
# Filter out what files you want to restore
# -Pattern=xxx-Type=yyy-Target=zzz
# where xxx is the filter pattern,
# yyy is the filter type, whice can be one of the following:
# [exact | exactMatchCase | contains | containsMatchCase|
|
# startWith | startWithMatchCase | endWith | endWithMatchCase]
|
# zzz is the filter target, which can be one of the following:
# [toFile | toFileDir | toDir]
|
#
# e.g. FILTER="-Pattern=.txt-Type=exact-Target=toFile"
# ------------------------------------------------------------
-
FILTER=""
# --------------------- TEMP_DIR ---------------------------
-
# | Directory to where you want to store restore files
temporarily
# | set to "" to use the temporary directory in the backup set
# | e.g. TEMP_DIR="/tmp"
# ------------------------------------------------------------
-
TEMP_DIR="/root/temp"
############## END: User Defined Section ###################
2. Login to MySQL Server
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 35
Server version: 5.7.23 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All
rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or
its
affiliates. Other names may be trademarks of their respective
www.bobcloud.net 29
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current
input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
mysql>
3. Create the database names that need to be recovered.
Example: classicmodels, employees, sakila, and world.
mysql> create database test;
Query OK, 1 row affected (0.02 sec)
mysql> create database employees;
Query OK, 1 row affected (0.00 sec)
4. After the Restore.sh script is configured the files can be restored automatically to the
MySQL Database Server.
# cd /usr/local/obm/bin
# sh Restore.sh
Using APP_HOME: : /usr/local/obm
Using BACKUP_SET : MySQL Daily
Using RESTORE_FROM : MySQL
Using RESTORE_TO : /root/restored
Using POINT_IN_TIME : Current
Using RESTORE_PERMISSION : N
Using TEMP_DIR : /root/temp
Filter Pattern not set, filter would not apply to restore
log4j:WARN No appenders could be found for logger
(org.apache.http.impl.conn.PoolingClientConnectionManager).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See
http://logging.apache.org/log4j/1.2/faq.html#noconfig for more
info.
[2018-08-20 16:25:12] Start [ Linux 3.10.0-514.10.2.el7.x86_64
(centos73), AhsayOBM v7.17.0.0 ]
[2018-08-20 16:25:12] start,"Start [ Linux 3.10.0-
514.10.2.el7.x86_64 (centos73), AhsayOBM
v7.17.0.0 ]",0,0,0,,0,0
[2018-08-20 16:25:12] Initializing decrypt action...
[2018-08-20 16:25:13] Initializing decrypt action... Completed
[2018-08-20 16:25:13] Creating new directory...
"/root/restored/MySQL"
[2018-08-20 16:25:13] Downloading...
"/root/restored/MySQL/employees.sql" (Total 4k bytes)
[2018-08-20 16:25:13] Downloading...
"/root/restored/MySQL/test.sql" (Total 4k bytes)
[2018-08-20 16:25:14]
file,/root/restored/MySQL/employees.sql,958,4978,1534753303000
,,1534753514661,1534753514663
www.bobcloud.net 30
[2018-08-20 16:25:14]
file,/root/restored/MySQL/test.sql,910,4879,1534753303000,,153
4753514668,1534753514668
[2018-08-20 16:25:15] Restore Completed Successfully
[2018-08-20 16:25:15] end,RESTORE_STOP_SUCCESS,0,0,0,,0,0
5. Check the database status.
Example: Listing the tables in the database using show tables
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| employees |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
6 rows in set (0.00 sec)
mysql> show tables in employees;
+---------------------+
| Tables_in_employees |
+---------------------+
| address |
| contact_no |
| department |
| designation |
| employee_no |
| name |
+---------------------+
6 rows in set (0.00 sec)
mysql> show tables in test;
+----------------+
| Tables_in_test |
+----------------+
| sample |
| sample1 |
| sample2 |
| sample3 |
| sample4 |
| sample5 |
+----------------+
6 rows in set (0.00 sec)
7.2 Manual MySQL Database Restore
To restore files that have been backed up from your backup destination, you need to use the
Restore.sh script by using a text editor like vi to configure the restore settings like :
Backup Set Name -> BACKUP_SET=""
Backup Destination -> DESTINATION=""
Location of Restored Files -> RESTORE_TO=""
www.bobcloud.net 31
Files/Folders to be Restored -> RESTORE_FROM=""
Snapshot to be restored ->POINT_IN_TIME=""
Applying the original permission to the restore files ->RESTORE_PERMISSION=""
# sh Restore.sh
Using APP_HOME: : /usr/local/obm
Using BACKUP_SET : MySQL Daily
Using RESTORE_FROM : MySQL
Using RESTORE_TO : /root/restored
Using POINT_IN_TIME : Current
Using RESTORE_PERMISSION : N
Using TEMP_DIR : /root/temp
Filter Pattern not set, filter would not apply to restore
log4j:WARN No appenders could be found for logger
(org.apache.http.impl.conn.PoolingClientConnectionManager).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig
for more info.
[2018-08-20 15:15:16] Start [ Linux 3.10.0-514.10.2.el7.x86_64
(centos73), AhsayOBM v7.17.0.0 ]
[2018-08-20 15:15:16] start,"Start [ Linux 3.10.0-
514.10.2.el7.x86_64 (centos73), AhsayOBM v7.17.0.0 ]",0,0,0,,0,0
[2018-08-20 15:15:16] Initializing decrypt action...
[2018-08-20 15:15:16] Initializing decrypt action... Completed
[2018-08-20 15:15:17] Creating new directory...
"/root/restored/MySQL"
[2018-08-20 15:15:17] Downloading...
"/root/restored/MySQL/employees.sql" (Total 1k bytes)
[2018-08-20 15:15:17] Downloading... "/root/restored/MySQL/test.sql"
(Total 1k bytes)
[2018-08-20 15:15:18]
file,/root/restored/MySQL/employees.sql,510,1355,1534748296000,,1534
749318262,1534749318262
[2018-08-20 15:15:18]
file,/root/restored/MySQL/test.sql,510,1340,1534748296000,,153474931
8258,1534749318259
[2018-08-20 15:15:19] Restore Completed Successfully
[2018-08-20 15:15:19] end,RESTORE_STOP_SUCCESS,0,0,0,,0,0
Verify the files are restored on the machine.
# ls -la /root/restored/MySQL
total 8
drwxr-xr-x. 2 root root 43 Aug 20 15:15 .
drwxr-xr-x. 3 root root 19 Aug 20 15:15 ..
-rwxr-xr-x. 1 root root 1355 Aug 20 14:58 employees.sql
-rwxr-xr-x. 1 root root 1340 Aug 20 14:58 test.sql
www.bobcloud.net 32
7.2.1 Recovering MySQL Databases
1. Login to MySQL server
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.16 MySQL Community Server (GPL)
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All
rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or
its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current
input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql>
2. Create the database names that need to be recovered.
Example: classicmodels, employees, sakila, and world.
mysql> create database employees;
Query OK, 1 row affected (0.01 sec)
mysql> create database test;
Query OK, 1 row affected (0.00 sec)
3. Recover Databases
Repeat the following steps for all databases you wish to restore.
mysql> use employees;
mysql> source /root/restored/MySQL/employees.sql;
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
mysql> use test;
mysql> source /root/restored/MySQL/test.sql;
Query OK, 0 rows affected (0.01 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
www.bobcloud.net 33
4. Check the database status
Example: Listing the tables in the database using show tables
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| employees |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
6 rows in set (0.00 sec)
mysql> show tables in employees;
+---------------------+
| Tables_in_employees |
+---------------------+
| address |
| contact_no |
| department |
| designation |
| employee_no |
| name |
+---------------------+
6 rows in set (0.00 sec)
mysql> show tables in test;
+----------------+
| Tables_in_test |
+----------------+
| sample |
| sample1 |
| sample2 |
| sample3 |
| sample4 |
| sample5 |
+----------------+
6 rows in set (0.00 sec)
www.bobcloud.net 34
Appendix
Appendix A MySQL Backup Set XML Template (Raw)
<?xml version="1.0" encoding="UTF-8"?>
<Setting>
<!-- This is the backup set setting -->
<Key name="Backup Set Setting">
<!-- Backup set type (Read Only) -->
<Value data="MySQL" name="Type" type="string" />
<!-- Backup set name -->
<Value data="" name="Name" type="string" />
<!-- Temporary directory for storing backup files -->
<Value data="" name="Temporary Working Directory" type="string" />
<!-- Remove temporary files after backup -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="Y" name="Delete temporary files after backup"
type="boolean" />
<!-- Select compression type -->
<!-- GzipDefaultCompression : Normal -->
<!-- GzipBestSpeedCompression: Fast (Compressed size larger than
normal) -->
<!-- Leave the field blank for no compression -->
<Value data="" name="Compression Type" type="string" />
<!-- Backup files' permissions -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="Y" name="Upload files permission" type="boolean" />
<!-- Follow link of the backup files -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="Y" name="Follow links" type="boolean" />
<!-- This shows the MySQL Database setting -->
<Key name="MySQL Database Setting">
<!-- MySQL Login Name -->
<Value data="" name="Username" type="string" />
<!-- MySQL Password -->
<Value data="" name="Password" type="string" />
<!-- MySQL Host -->
<Value data="" name="Host" type="string" />
<!-- MySQL Port -->
<Value data="" name="Port" type="string" />
<!-- Path to mysqldump -->
<Value data="" name="mysqldump path" type="string" />
</Key>
<!-- This includes the database you want to backup -->
<!-- Copy and paste the whole <Key> to add more selected sources -
->
<Key name="Selected Source">
<!-- Please enter the path in the format of
"MySQL/_YOUR_FILE_NAME_" -->
<Value data="" name="Path" type="string" />
</Key>
<!-- This excludes the database from the included source -->
<!-- Copy and paste the whole <Key> to add more deselected sources
-->
<Key name="Deselected Source">
www.bobcloud.net 35
<!-- Please enter the path in the format of
"MySQL/_YOUR_FILE_NAME_" -->
<Value data="" name="Path" type="string" />
</Key>
<!-- Settings for your scheduled backups -->
<Key name="Schedule Settings">
<!-- Enable scheduled backup on this computer -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="N" name="Enable" type="boolean" />
<!-- Daily settings -->
<!-- Copy and paste the whole <Key> to add more daily schedules
-->
<Key name="Daily Schedule Settings">
<!-- Name of schedule -->
<Value data="Daily-Schedule" name="Name" type="string" />
<!-- Start hour -->
<!-- 0, 1, 2... 23 -->
<Value data="21" name="Hour" type="integer" />
<!-- Start minute -->
<!-- 0, 1, 2... 59 -->
<Value data="0" name="Minute" type="integer" />
<!-- Duration of this backup in hours -->
<!-- 1, 2, 3... -->
<!-- A value of -1 means run until job finish -->
<Value data="-1" name="Duration" type="integer" />
</Key>
<!-- Weekly settings -->
<!-- Copy and paste the whole <Key> to add more weekly
schedules -->
<Key name="Weekly Schedule Settings">
<!-- Name of schedule -->
<Value data="Weekly-Schedule" name="Name" type="string" />
<!-- Start hour -->
<!-- 0, 1, 2... 23 -->
<Value data="21" name="Hour" type="integer" />
<!-- Start minute -->
<!-- 0, 1, 2... 59 -->
<Value data="0" name="Minute" type="integer" />
<!-- Duration of this backup in hours -->
<!-- 1, 2, 3... -->
<!-- A value of -1 means run until job finish -->
<Value data="-1" name="Duration" type="integer" />
<!-- Backup on these days of the week -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="Y" name="Sunday" type="boolean" />
<Value data="Y" name="Monday" type="boolean" />
<Value data="Y" name="Tuesday" type="boolean" />
<Value data="Y" name="Wednesday" type="boolean" />
<Value data="Y" name="Thursday" type="boolean" />
<Value data="Y" name="Friday" type="boolean" />
<Value data="Y" name="Saturday" type="boolean" />
</Key>
<!-- Monthly settings -->
<!-- Copy and paste the whole <Key> to add more monthly
schedules -->
<Key name="Monthly Schedule Settings">
<!-- Name of schedule -->
<Value data="Monthly-Schedule" name="Name" type="string" />
<!-- Start hour -->
www.bobcloud.net 36
<!-- 0, 1, 2... 23 -->
<Value data="21" name="Hour" type="integer" />
<!-- Start minute -->
<!-- 0, 1, 2... 59 -->
<Value data="0" name="Minute" type="integer" />
<!-- Duration of this backup in hours -->
<!-- 1, 2, 3... -->
<!-- A value of -1 means run until job finish -->
<Value data="-1" name="Duration" type="integer" />
<!-- Schedule date of month -->
<!-- 1, 2, 3... 31 -->
<!-- 32: Last -->
<!-- Set to 0 if you want to use the format of occurrence +
criteria, e.g. Third Wednesday, instead -->
<Value data="1" name="Schedule Date" type="integer" />
<!-- Backup occurrence -->
<!-- First / Second / Third / Fourth / Last -->
<!-- If "Schedule Date" is not zero, this value will be
ignored -->
<Value data="First" name="Occurrence" type="string" />
<!-- Backup criteria -->
<!-- Sunday / Monday / Tuesday / Wednesday / Thursday /
Friday / Saturday / Weekday / Weekend -->
<!-- If "Schedule Date" is not zero, this value will be
ignored -->
<Value data="Friday" name="Criteria" type="string" />
</Key>
<!-- Custom settings -->
<!-- Copy and paste the whole <Key> to add more custom
schedules -->
<Key name="Custom Schedule Settings">
<!-- Name of schedule -->
<Value data="Custom" name="Name" type="string" />
<!-- Start hour -->
<!-- 0, 1, 2... 23 -->
<Value data="21" name="Hour" type="integer" />
<!-- Start minute -->
<!-- 0, 1, 2... 59 -->
<Value data="0" name="Minute" type="integer" />
<!-- Duration of this backup in hours -->
<!-- 1, 2, 3... -->
<!-- A value of -1 means run until job finish -->
<Value data="-1" name="Duration" type="integer" />
<!-- Date for performing custom schedule backup -->
<!-- Input in the format of YYYY-MM-DD -->
<Value data="2016-5-4" name="Schedule Date" type="string"
/>
</Key>
</Key>
<!-- This is the collection of destinations -->
<Key name="Destination Settings">
<!-- Concurrency level is the number of destinations to run
backup concurrently -->
<!-- 2, 3, 4... -->
<!-- 1 : Backup to destinations one by one sequentially -->
<!-- -1: Backup to all destinations concurrently -->
<Value data="1" name="Concurrency Level" type="integer" />
<!-- CBS destination is where the files are backup to server --
>
<Key name="CBS Destination Settings">
</Key>
www.bobcloud.net 37
<!-- Local destination means backup files are stored in your
computer -->
<!-- Copy and paste the whole <Key> to add more local
destinations -->
<Key name="Local Destination Settings">
<!-- Name of your destination -->
<Value data="" name="Name" type="string" />
<!-- Directory to store your backup files -->
<!-- e.g. /tmp -->
<Value data="" name="Local Path" type="string" />
</Key>
<!-- Aliyun destination for storing files -->
<!-- Copy and paste the whole <Key> to add more Aliyun
destinations -->
<Key name="Aliyun Destination Settings">
<!-- Name of your destination -->
<Value data="" name="Name" type="string" />
<!-- Access key ID -->
<Value data="" name="Access Key ID" type="string" />
<!-- Access key secret -->
<Value data="" name="Access Key Secret" type="string" />
<!-- Region -->
<!-- oss-cn-hangzhou : Hangzhou -->
<!-- oss-cn-shenzhen : Shenzhen -->
<!-- oss-cn-beijing : Beijing -->
<!-- oss-cn-qingdao : Qingdao -->
<!-- oss-cn-shanghai : Shanghai -->
<!-- oss-cn-hongkong : Hong Kong -->
<!-- oss-us-west-1 : US Silicon Valley -->
<!-- oss-ap-southeast-1: Asia Pacific (Singapore) -->
<Value data="" name="Region" type="string" />
<!-- Bucket to store backup data -->
<!-- Leave the field empty to use default -->
<Value data="" name="Bucket Name" type="string" />
<!-- Select whether to use proxy -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="N" name="Enable proxy during backup"
type="boolean" />
</Key>
<!-- CTYun destination for storing files -->
<!-- Copy and paste the whole <Key> to add more CTYun
destinations -->
<Key name="CTYun Destination Settings">
<!-- Name of your destination -->
<Value data="" name="Name" type="string" />
<!-- Access key ID -->
<Value data="" name="Access Key ID" type="string" />
<!-- Access secret key -->
<Value data="" name="Access Secret Key" type="string" />
<!-- Select whether to use proxy -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="N" name="Enable proxy during backup"
type="boolean" />
</Key>
<!-- AmazonS3 destination for storing files -->
<!-- Copy and paste the whole <Key> to add more AmazonS3
destinations -->
<Key name="AmazonS3 Destination Settings">
<!-- Name of your destination -->
www.bobcloud.net 38
<Value data="" name="Name" type="string" />
<!-- Access key ID -->
<Value data="" name="Access Key ID" type="string" />
<!-- Secret access key -->
<Value data="" name="Secret Access Key" type="string" />
<!-- Location -->
<!-- us-east-1 : US East (N. Virginia) -->
<!-- us-west-2 : US West (Oregon) -->
<!-- us-west-1 : US West (Northern California) -->
<!-- eu-west-1 : EU (Ireland) -->
<!-- eu-central-1 : EU (Frankfurt) -->
<!-- ap-southeast-1: Asia Pacific (Singapore) -->
<!-- ap-northeast-1: Asia Pacific (Tokyo) -->
<!-- ap-southeast-2: Asia Pacific (Sydney) -->
<!-- sa-east-1 : South America (Sao Paulo) -->
<!-- us-gov-west-1 : AWS GovCloud (US) -->
<!-- cn-north-1 : China (Beijing) -->
<!-- ap-northeast-2: Asia Pacific (Seoul) -->
<Value data="" name="Location" type="string" />
<!-- Select whether to use proxy -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="N" name="Enable proxy during backup"
type="boolean" />
</Key>
<!-- AWSCompatible destination for storing files -->
<!-- Copy and paste the whole <Key> to add more AWSCompatible
destinations -->
<Key name="AWSCompatible Destination Settings">
<!-- Name of your destination -->
<Value data="" name="Name" type="string" />
<!-- Host -->
<Value data="" name="Host" type="string" />
<!-- Port -->
<Value data="0" name="Port" type="integer" />
<!-- Access key ID -->
<Value data="" name="Access Key ID" type="string" />
<!-- Secret access key -->
<Value data="" name="Secret Access Key" type="string" />
<!-- Bucket to store backup data (please create this bucket
manually first) -->
<Value data="" name="Bucket Name" type="string" />
<!-- Select whether to use proxy -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="N" name="Enable proxy during backup"
type="boolean" />
</Key>
<!-- GoogleCloudStorage destination for storing files -->
<!-- Copy and paste the whole <Key> to add more
GoogleCloudStorage destinations -->
<Key name="GoogleCloudStorage Destination Settings">
<!-- Name of your destination -->
<Value data="" name="Name" type="string" />
<!-- Access key -->
<Value data="" name="Access Key" type="string" />
<!-- Secret -->
<Value data="" name="Secret" type="string" />
<!-- Location -->
<!-- US : United States -->
<!-- EU : European Union -->
www.bobcloud.net 39
<!-- ASIA: Asia -->
<Value data="" name="Location" type="string" />
<!-- Select whether to use proxy -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="N" name="Enable proxy during backup"
type="boolean" />
</Key>
<!-- Windows Azure destination for storing files -->
<!-- Copy and paste the whole <Key> to add more Windows Azure
destinations -->
<Key name="Windows Azure Destination Settings">
<!-- Name of your destination -->
<Value data="" name="Name" type="string" />
<!-- Storage account name -->
<Value data="" name="Storage Account Name" type="string" />
<!-- Access key -->
<Value data="" name="Access Key" type="string" />
</Key>
<!-- Rackspace destination for storing files -->
<!-- Copy and paste the whole <Key> to add more Rackspace
destinations -->
<Key name="Rackspace Destination Settings">
<!-- Name of your destination -->
<Value data="" name="Name" type="string" />
<!-- Username -->
<Value data="" name="Username" type="string" />
<!-- API key -->
<Value data="" name="API Key" type="string" />
<!-- Select whether to use proxy -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="N" name="Enable proxy during backup"
type="boolean" />
</Key>
<!-- OpenStack destination for storing files -->
<!-- Copy and paste the whole <Key> to add more OpenStack
destinations -->
<Key name="OpenStack Destination Settings">
<!-- Name of your destination -->
<Value data="" name="Name" type="string" />
<!-- Host -->
<Value data="" name="Host" type="string" />
<!-- Keystone public port -->
<Value data="5000" name="Keystone Public Port"
type="integer" />
<!-- Username -->
<Value data="" name="Username" type="string" />
<!-- Password -->
<Value data="" name="Password" type="string" />
<!-- Select whether to use proxy -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="N" name="Enable proxy during backup"
type="boolean" />
</Key>
<!-- FTP destination for storing files -->
<!-- Copy and paste the whole <Key> to add more FTP
destinations -->
<Key name="FTP Destination Settings">
<!-- Name of your destination -->
www.bobcloud.net 40
<Value data="" name="Name" type="string" />
<!-- Host -->
<Value data="" name="Host" type="string" />
<!-- Port -->
<Value data="0" name="Port" type="integer" />
<!-- Username -->
<Value data="" name="Username" type="string" />
<!-- Password -->
<Value data="" name="Password" type="string" />
<!-- FTP directory to store backup data -->
<!-- Leave the field empty to store to ~/Ahsay -->
<Value data="" name="Directory" type="string" />
<!-- Select whether to use proxy -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="N" name="Enable proxy during backup"
type="boolean" />
</Key>
</Key>
<!-- This shows the in-file delta setting -->
<Key name="In-file Delta Setting">
<!-- Enable in-file delta backup -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="Y" name="Enable" type="boolean" />
<!-- Default in-file delta type -->
<!-- D: Differential -->
<!-- I: Incremental -->
<Value data="" name="Default Delta Type" type="string" />
</Key>
</Key>
</Setting>
www.bobcloud.net 41
Appendix B MySQL Backup Set XML Template (with
explanation)
This appendix explains all configurable items with their available options, highlighted in red, in this file
backup set XML scripts.
Backup Set Setting
The following items define the basic configurations of the file backup set.
Backup set type – enter the backup set type, for instance, File, MySQL etc.
Backup set name – name your backup set.
Temporary directory for storing backup files – Enter the directory path where you would
like to have the backup files stored temporarily. The temporary directory is used for various
purposes, such as storage of temporary spooled file (for database specific backup type in
AhsayOBM), remote file list, local file list, temporary delta file and other files of temporary
nature.
Remove temporary files after backup – choose whether to remove temporary files after
you finish backup.
Select compression type – choose the backup compression mode among Normal, Fast or
No compression.
<?xml version="1.0" encoding="UTF-8"?>
<Setting>
<!-- This is the backup set setting -->
<Key name="Backup Set Setting">
<!-- Backup set type (Read Only) -->
<Value data="FILE" name="Type" type="string" />
<!-- Backup set name -->
<Value data="" name="Name" type="string" />
<!-- Temporary directory for storing backup files -->
<Value data="" name="Temporary Working Directory"
type="string" />
<!-- Remove temporary files after backup -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="Y" name="Delete temporary files after backup"
type="boolean" />
<!-- Select compression type -->
<!-- GzipDefaultCompression : Normal -->
<!-- GzipBestSpeedCompression: Fast (Compressed size larger
than normal) -->
<!-- Leave the field blank for no compression -->
<Value data="" name="Compression Type" type="string" />
MySQL Database Setting
Configure the login and network settings for the MySQL Database.
<!-- This shows the MySQL Database setting -->
<Key name="MySQL Database Setting">
<!-- MySQL Login Name -->
<Value data="" name="Username" type="string" />
<!-- MySQL Password -->
<Value data="" name="Password" type="string" />
<!-- MySQL Host -->
www.bobcloud.net 42
<Value data="" name="Host" type="string" />
<!-- MySQL Port -->
<Value data="" name="Port" type="string" />
<!-- Path to mysqldump -->
<Value data="" name="mysqldump path" type="string" />
</Key>
Selected Source
Enter the file path where the files you would like to backup are located.
<!-- This includes the files you want to backup -->
<!-- Copy and paste the whole <Key> to add more selected
sources -->
<Key name="Selected Source">
<!-- Please enter your file path, e.g. /root/Documents -->
<Value data="" name="Path" type="string" />
</Key>
Deselected Source
Enter the file path where files you would like to exclude from the backup.
<!-- This excludes the files from the included source -->
<!-- Copy and paste the whole <Key> to add more deselected
sources -->
<Key name="Deselected Source">
<!-- Please enter your file path, e.g. /root/Documents -->
<Value data="" name="Path" type="string" />
</Key>
Schedule Settings
Choose whether you would like backup jobs to be run at the scheduled time you set.
<!-- Settings for your scheduled backups -->
<Key name="Schedule Settings">
<!-- Enable scheduled backup on this computer -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="N" name="Enable" type="boolean" />
Daily Schedule Settings
Set backup jobs to run daily at the time you specified.
Start hour – the starting hour of the backup, from 0-23.
Start minute – the starting minute of the backup, from 0-59.
Duration of this backup in hours – for how long, in hours, you would like this backup to
run. Set to -1 if you would like the backup job to run until it finishes.
<!-- Daily settings -->
<!-- Copy and paste the whole <Key> to add more daily
schedules -->
<Key name="Daily Schedule Settings">
<!-- Name of schedule -->
<Value data="Daily-Schedule" name="Name" type="string" />
<!-- Start hour -->
<!-- 0, 1, 2... 23 -->
<Value data="21" name="Hour" type="integer" />
<!-- Start minute -->
www.bobcloud.net 43
<!-- 0, 1, 2... 59 -->
<Value data="0" name="Minute" type="integer" />
<!-- Duration of this backup in hours -->
<!-- 1, 2, 3... -->
<!-- A value of -1 means run until job finish -->
<Value data="-1" name="Duration" type="integer" />
</Key>
Weekly Schedule Settings
Set backup jobs to run weekly at the time you specified.
Start hour – the starting hour of the backup, from 0-23.
Start minute – the starting minute of the backup, from 0-59.
Duration of this backup in hours – the duration you would like this backup to perform, in
hours. Set to -1 if you would like the backup job to run until it finishes.
Backup on these days of the week – choose to enable or disable backup on each day in
week.
<!-- Weekly settings -->
<!-- Copy and paste the whole <Key> to add more weekly
schedules -->
<Key name="Weekly Schedule Settings">
<!-- Name of schedule -->
<Value data="Weekly-Schedule" name="Name" type="string" />
<!-- Start hour -->
<!-- 0, 1, 2... 23 -->
<Value data="21" name="Hour" type="integer" />
<!-- Start minute -->
<!-- 0, 1, 2... 59 -->
<Value data="0" name="Minute" type="integer" />
<!-- Duration of this backup in hours -->
<!-- 1, 2, 3... -->
<!-- A value of -1 means run until job finish -->
<Value data="-1" name="Duration" type="integer" />
<!-- Backup on these days of the week -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="Y" name="Sunday" type="boolean" />
<Value data="Y" name="Monday" type="boolean" />
<Value data="Y" name="Tuesday" type="boolean" />
<Value data="Y" name="Wednesday" type="boolean" />
<Value data="Y" name="Thursday" type="boolean" />
<Value data="Y" name="Friday" type="boolean" />
<Value data="Y" name="Saturday" type="boolean" />
</Key>
Monthly Schedule Settings
Set backup jobs to run monthly at the time you specified.
Start hour – the starting hour of the backup, from 0-23.
Start minute – the starting minute of the backup, from 0-59.
Duration of this backup in hours – the duration you would like this backup to perform, in
hours. Set to -1 if you would like the backup job to run until it finishes.
www.bobcloud.net 44
Schedule date of month – set exact date in a month when you would like the backup to
perform. Set to 0 if you would like the backup performed in a specified occurrence + criteria
format, e.g. the third Wednesday in month.
Backup [Occurrence + Criteria] format
You can set the backup to perform on a specified week (Occurrence, First / Second /
Third / Last) and on a specified day of the week (Criteria, Sun thru Sat), for instance, the
third Wednesday in a month.
Backup occurrence – set the week, i.e., First / Second / Third / Last. If you have set
an exact date in the previous “Schedule date of month” configuration, this setting will
be ignored.
Backup criteria – set a day of the week, i.e., Sunday thru Saturday. If you have set an
exact date in the previous “Schedule date of month” configuration, this setting will be
ignored.
<!-- Monthly settings -->
<!-- Copy and paste the whole <Key> to add more monthly
schedules -->
<Key name="Monthly Schedule Settings">
<!-- Name of schedule -->
<Value data="Monthly-Schedule" name="Name" type="string" />
<!-- Start hour -->
<!-- 0, 1, 2... 23 -->
<Value data="21" name="Hour" type="integer" />
<!-- Start minute -->
<!-- 0, 1, 2... 59 -->
<Value data="0" name="Minute" type="integer" />
<!-- Duration of this backup in hours -->
<!-- 1, 2, 3... -->
<!-- A value of -1 means run until job finish -->
<Value data="-1" name="Duration" type="integer" />
<!-- Schedule date of month -->
<!-- 1, 2, 3... 31 -->
<!-- 32: Last -->
<!-- Set to 0 if you want to use the format of
occurrence + criteria, e.g. Third Wednesday, instead -->
<Value data="1" name="Schedule Date" type="integer" />
<!-- Backup occurrence -->
<!-- First / Second / Third / Fourth / Last -->
<!-- If "Schedule Date" is not zero, this value will be
ignored -->
<Value data="First" name="Occurrence" type="string" />
<!-- Backup criteria -->
<!-- Sunday / Monday / Tuesday / Wednesday / Thursday /
Friday / Saturday / Weekday / Weekend -->
<!-- If "Schedule Date" is not zero, this value will be
ignored -->
<Value data="Friday" name="Criteria" type="string" />
</Key>
Custom Schedule Settings
Set backup jobs to run at the date and time you specified.
Start hour – the starting hour of the backup, from 0-23.
Start minute – the starting minute of the backup, from 0-59.
www.bobcloud.net 45
Duration of this backup in hours – the duration you would like this backup to perform, in
hours. Set to -1 if you would like the backup job to run until it finishes.
Date for performing custom schedule backup - enter a specific date when you would like
the backup to perform. The date format should be in YYYY-MM-DD.
<!-- Custom settings -->
<!-- Copy and paste the whole <Key> to add more custom
schedules -->
<Key name="Custom Schedule Settings">
<!-- Name of schedule -->
<Value data="Custom" name="Name" type="string" />
<!-- Start hour -->
<!-- 0, 1, 2... 23 -->
<Value data="21" name="Hour" type="integer" />
<!-- Start minute -->
<!-- 0, 1, 2... 59 -->
<Value data="0" name="Minute" type="integer" />
<!-- Duration of this backup in hours -->
<!-- 1, 2, 3... -->
<!-- A value of -1 means run until job finish -->
<Value data="-1" name="Duration" type="integer" />
<!-- Date for performing custom schedule backup -->
<!-- Input in the format of YYYY-MM-DD -->
<Value data="2016-4-30" name="Schedule Date"
type="string" />
</Key>
</Key>
Destination Settings
Concurrency level – set the number of destinations to run backup job concurrently
CBS Destination Settings – this option allows backup files to be stored on the server
Local Destination Settings – this option allows backup files to be stored in your local
computer. Enter the directory path where you would like the backup files to be stored.
<!-- This is the collection of destinations -->
<Key name="Destination Settings">
<!-- Concurrency level is the number of destinations to run
backup concurrently -->
<!-- 2, 3, 4... -->
<!-- 1 : Backup to destinations one by one sequentially -->
<!-- -1: Backup to all destinations concurrently -->
<Value data="1" name="Concurrency Level" type="integer" />
<!-- CBS destination is where the files are backup to
server -->
<Key name="CBS Destination Settings">
</Key>
<!-- Local destination means backup files are stored in
your computer -->
<!-- Copy and paste the whole <Key> to add more local
destinations -->
<Key name="Local Destination Settings">
<!-- Name of your destination -->
<Value data="" name="Name" type="string" />
<!-- Directory to store your backup files -->
<!-- e.g. /tmp -->
<Value data="" name="Local Path" type="string" />
</Key>
www.bobcloud.net 46
Aliyun Destination Settings – if you are using Aliyun as your backup destination, configure
the login and network settings in this section.
<!-- Aliyun destination for storing files -->
<!-- Copy and paste the whole <Key> to add more Aliyun
destinations -->
<Key name="Aliyun Destination Settings">
<!-- Name of your destination -->
<Value data="" name="Name" type="string" />
<!-- Access key ID -->
<Value data="" name="Access Key ID" type="string" />
<!-- Access key secret -->
<Value data="" name="Access Key Secret" type="string"
/>
<!-- Region -->
<!-- oss-cn-hangzhou : Hangzhou -->
<!-- oss-cn-shenzhen : Shenzhen -->
<!-- oss-cn-beijing : Beijing -->
<!-- oss-cn-qingdao : Qingdao -->
<!-- oss-cn-shanghai : Shanghai -->
<!-- oss-cn-hongkong : Hong Kong -->
<!-- oss-us-west-1 : US Silicon Valley -->
<!-- oss-ap-southeast-1: Asia Pacific (Singapore) -->
<Value data="" name="Region" type="string" />
<!-- Bucket to store backup data -->
<!-- Leave the field empty to use default -->
<Value data="" name="Bucket Name" type="string" />
<!-- Select whether to use proxy -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="N" name="Enable proxy during backup"
type="boolean" />
</Key>
CTYun Destination Settings – if you are using CTYun as your backup destination,
configure the login and network settings in this section.
<!-- CTYun destination for storing files -->
<!-- Copy and paste the whole <Key> to add more CTYun
destinations -->
<Key name="CTYun Destination Settings">
<!-- Name of your destination -->
<Value data="" name="Name" type="string" />
<!-- Access key ID -->
<Value data="" name="Access Key ID" type="string" />
<!-- Access secret key -->
<Value data="" name="Access Secret Key" type="string"
/>
<!-- Select whether to use proxy -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="N" name="Enable proxy during backup"
type="boolean" />
</Key>
AmazonS3 Destination Settings – if you are using AmazonS3 as your backup destination,
configure the login and network settings in this section.
<!-- AmazonS3 destination for storing files -->
<!-- Copy and paste the whole <Key> to add more AmazonS3
destinations -->
www.bobcloud.net 47
<Key name="AmazonS3 Destination Settings">
<!-- Name of your destination -->
<Value data="" name="Name" type="string" />
<!-- Access key ID -->
<Value data="" name="Access Key ID" type="string" />
<!-- Secret access key -->
<Value data="" name="Secret Access Key" type="string"
/>
<!-- Location -->
<!-- us-east-1 : US East (N. Virginia) -->
<!-- us-west-2 : US West (Oregon) -->
<!-- us-west-1 : US West (Northern California) -->
<!-- eu-west-1 : EU (Ireland) -->
<!-- eu-central-1 : EU (Frankfurt) -->
<!-- ap-southeast-1: Asia Pacific (Singapore) -->
<!-- ap-northeast-1: Asia Pacific (Tokyo) -->
<!-- ap-southeast-2: Asia Pacific (Sydney) -->
<!-- sa-east-1 : South America (Sao Paulo) -->
<!-- us-gov-west-1 : AWS GovCloud (US) -->
<!-- cn-north-1 : China (Beijing) -->
<!-- ap-northeast-2: Asia Pacific (Seoul) -->
<Value data="" name="Location" type="string" />
<!-- Select whether to use proxy -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="N" name="Enable proxy during backup"
type="boolean" />
</Key>
AWSCompatible Destination Settings – if you are using AWSCompatible as your backup
destination, configure the login and network settings in this section.
<!-- AWSCompatible destination for storing files -->
<!-- Copy and paste the whole <Key> to add more
AWSCompatible destinations -->
<Key name="AWSCompatible Destination Settings">
<!-- Name of your destination -->
<Value data="" name="Name" type="string" />
<!-- Host -->
<Value data="" name="Host" type="string" />
<!-- Port -->
<Value data="0" name="Port" type="integer" />
<!-- Access key ID -->
<Value data="" name="Access Key ID" type="string" />
<!-- Secret access key -->
<Value data="" name="Secret Access Key" type="string"
/>
<!-- Bucket to store backup data (please create this
bucket manually first) -->
<Value data="" name="Bucket Name" type="string" />
<!-- Select whether to use proxy -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="N" name="Enable proxy during backup"
type="boolean" />
</Key>
www.bobcloud.net 48
GoogleCloudStorage Destination Settings – if you are using GoogleCloudStorage as
your backup destination, configure the login and network settings in this section.
<!-- GoogleCloudStorage destination for storing files -->
<!-- Copy and paste the whole <Key> to add more
GoogleCloudStorage destinations -->
<Key name="GoogleCloudStorage Destination Settings">
<!-- Name of your destination -->
<Value data="" name="Name" type="string" />
<!-- Access key -->
<Value data="" name="Access Key" type="string" />
<!-- Secret -->
<Value data="" name="Secret" type="string" />
<!-- Location -->
<!-- US : United States -->
<!-- EU : European Union -->
<!-- ASIA: Asia -->
<Value data="" name="Location" type="string" />
<!-- Select whether to use proxy -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="N" name="Enable proxy during backup"
type="boolean" />
</Key>
Windows Azure Destination Settings – if you are using Windows Azure as your backup
destination, configure the login and network settings in this section.
<!-- Windows Azure destination for storing files -->
<!-- Copy and paste the whole <Key> to add more Windows
Azure destinations -->
<Key name="Windows Azure Destination Settings">
<!-- Name of your destination -->
<Value data="" name="Name" type="string" />
<!-- Storage account name -->
<Value data="" name="Storage Account Name"
type="string" />
<!-- Access key -->
<Value data="" name="Access Key" type="string" />
</Key>
Rackspace Destination Settings - – if you are using Rackspace as your backup
destination, configure the login and network settings in this section.
<!-- Rackspace destination for storing files -->
<!-- Copy and paste the whole <Key> to add more Rackspace
destinations -->
<Key name="Rackspace Destination Settings">
<!-- Name of your destination -->
<Value data="" name="Name" type="string" />
<!-- Username -->
<Value data="" name="Username" type="string" />
<!-- API key -->
<Value data="" name="API Key" type="string" />
<!-- Select whether to use proxy -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="N" name="Enable proxy during backup"
type="boolean" />
</Key>
www.bobcloud.net 49
OpenStack Destination Settings – if you are using OpenStack as your backup destination,
configure the login and network settings in this section.
<!-- OpenStack destination for storing files -->
<!-- Copy and paste the whole <Key> to add more OpenStack
destinations -->
<Key name="OpenStack Destination Settings">
<!-- Name of your destination -->
<Value data="" name="Name" type="string" />
<!-- Host -->
<Value data="" name="Host" type="string" />
<!-- Keystone public port -->
<Value data="5000" name="Keystone Public Port"
type="integer" />
<!-- Username -->
<Value data="" name="Username" type="string" />
<!-- Password -->
<Value data="" name="Password" type="string" />
<!-- Select whether to use proxy -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="N" name="Enable proxy during backup"
type="boolean" />
</Key>
FTP Destination Settings – if you are using FTP as your backup destination, configure the
login and network settings in this section.
<!-- FTP destination for storing files -->
<!-- Copy and paste the whole <Key> to add more FTP
destinations -->
<Key name="FTP Destination Settings">
<!-- Name of your destination -->
<Value data="" name="Name" type="string" />
<!-- Host -->
<Value data="" name="Host" type="string" />
<!-- Port -->
<Value data="0" name="Port" type="integer" />
<!-- Username -->
<Value data="" name="Username" type="string" />
<!-- Password -->
<Value data="" name="Password" type="string" />
<!-- FTP directory to store backup data -->
<!-- Leave the field empty to store to ~/Ahsay -->
<Value data="" name="Directory" type="string" />
<!-- Select whether to use proxy -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="N" name="Enable proxy during backup"
type="boolean" />
</Key>
</Key>
www.bobcloud.net 50
In-file delta setting
In-File delta technology is an advanced data block matching algorithm with the intelligence to pick up
changes (delta) of file content between two files. You can choose between Differential and
Incremental in this setting.
Differential - The delta is generated by comparing with the last uploaded full file only. Delta
generated with this method will grow daily and uses more bandwidth. However, for
restoration, the full file and a single delta is required to be restored and merged.
Incremental - The delta is generated by comparing with the last uploaded full or delta file.
Delta generated with this method is smaller and uses the least bandwidth. However, for
restoration, the full file and all deltas chain up to the required point-in-time are required to be
restored and merged. This is prone to data lost (e.g. broken delta chain).
<!-- This shows the in-file delta setting -->
<Key name="In-file Delta Setting">
<!-- Enable in-file delta backup -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="Y" name="Enable" type="boolean" />
<!-- Default in-file delta type -->
<!-- D: Differential -->
<!-- I: Incremental -->
<Value data="" name="Default Delta Type" type="string" />
</Key>
</Key>
</Setting>
www.bobcloud.net 51
Appendix C Example of MySQL Database Backup Set (1)
Backup set configurations:
Backup Set Name
Temporary Working Directory
Remove temporary files after backup
Compress Type
Daily schedule
Destination
Backup mode
Backup Source
In-File Delta Type
MySQL database settings:
ID
Password
Hostname
Port
Mysqldump path
*Configurable items are highlighted in red.
<?xml version="1.0" encoding="UTF-8"?>
<Setting>
<!-- This is the backup set setting -->
<Key name="Backup Set Setting">
<!-- Backup set type (Read Only) -->
<Value data="MySQL" name="Type" type="string" />
<!-- Backup set name -->
<Value data="MySQL Database 1" name="Name" type="string" />
<!-- Temporary directory for storing backup files -->
<Value data="/tmp" name="Temporary Working Directory"
type="string" />
<!-- Remove temporary files after backup -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="Y" name="Delete temporary files after backup"
type="boolean" />
<!-- Select compression type -->
<!-- GzipDefaultCompression : Normal -->
<!-- GzipBestSpeedCompression: Fast (Compressed size larger than
normal) -->
<!-- Leave the field blank for no compression -->
<Value data="GzipBestSpeedCompression" name="Compression Type"
type="string" />
<!-- This shows the MySQL Database setting -->
<Key name="MySQL Database Setting">
<!-- MySQL Login Name -->
<Value data="root" name="Username" type="string" />
<!-- MySQL Password -->
<Value data="pwd123" name="Password" type="string" />
<!-- MySQL Host -->
<Value data="localhost" name="Host" type="string" />
<!-- MySQL Port -->
www.bobcloud.net 52
<Value data="3306" name="Port" type="string" />
<!-- Path to mysqldump -->
<Value data="/usr/bin/mysqldump" name="mysqldump path"
type="string" />
</Key>
<!-- This includes the database you want to backup -->
<!-- Copy and paste the whole <Key> to add more selected sources --
>
<Key name="Selected Source">
<!-- Please enter the path in the format of
"MySQL/_YOUR_FILE_NAME_" -->
<Value data="MySQL/classicmodels" name="Path" type="string" />
</Key>
<Key name="Selected Source">
<!-- Please enter the path in the format of
"MySQL/_YOUR_FILE_NAME_" -->
<Value data="MySQL/employees" name="Path" type="string" />
</Key>
<Key name="Selected Source">
<!-- Please enter the path in the format of
"MySQL/_YOUR_FILE_NAME_" -->
<Value data="MySQL/sakila" name="Path" type="string" />
</Key>
<Key name="Selected Source">
<!-- Please enter the path in the format of
"MySQL/_YOUR_FILE_NAME_" -->
<Value data="MySQL/world" name="Path" type="string" />
</Key>
<!-- This excludes the database from the included source -->
<!-- Copy and paste the whole <Key> to add more deselected sources
-->
<Key name="Deselected Source">
<!-- Please enter the path in the format of
"MySQL/_YOUR_FILE_NAME_" -->
<Value data="MySQL/information_schema" name="Path"
type="string" />
</Key>
<Key name="Deselected Source">
<!-- Please enter the path in the format of
"MySQL/_YOUR_FILE_NAME_" -->
<Value data="MySQL/performance_schema" name="Path"
type="string" />
</Key>
<!-- Settings for your scheduled backups -->
<Key name="Schedule Settings">
<!-- Enable scheduled backup on this computer -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="Y" name="Enable" type="boolean" />
<!-- Daily settings -->
<!-- Copy and paste the whole <Key> to add more daily schedules
-->
<Key name="Daily Schedule Settings">
<!-- Name of schedule -->
<Value data="Daily-Schedule" name="Name" type="string" />
<!-- Start hour -->
<!-- 0, 1, 2... 23 -->
<Value data="19" name="Hour" type="integer" />
<!-- Start minute -->
www.bobcloud.net 53
<!-- 0, 1, 2... 59 -->
<Value data="30" name="Minute" type="integer" />
</Key>
</Key>
<!-- This is the collection of destinations -->
<Key name="Destination Settings">
<!-- Concurrency level is the number of destinations to run
backup concurrently -->
<!-- 2, 3, 4... -->
<!-- 1 : Backup to destinations one by one sequentially -->
<!-- -1: Backup to all destinations concurrently -->
<Value data="-1" name="Concurrency Level" type="integer" />
<!-- CBS destination is where the files are backup to server --
>
<Key name="CBS Destination Settings">
</Key>
<!-- Local destination means backup files are stored in your
computer -->
<!-- Copy and paste the whole <Key> to add more local
destinations -->
<Key name="Local Destination Settings">
<!-- Name of your destination -->
<Value data="local" name="Name" type="string" />
<!-- Directory to store your backup files -->
<!-- e.g. /tmp -->
<Value data="/localbackup" name="Local Path" type="string"
/>
</Key>
</Key>
<!-- This shows the in-file delta setting -->
<Key name="In-file Delta Setting">
<!-- Enable in-file delta backup -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="Y" name="Enable" type="boolean" />
<!-- Default in-file delta type -->
<!-- D: Differential -->
<!-- I: Incremental -->
<Value data="D" name="Default Delta Type" type="string" />
</Key>
</Key>
</Setting>
www.bobcloud.net 54
Appendix D Example of MySQL Database Backup Set (2)
Backup set configurations:
Backup Set Name
Temporary Working Directory
Remove temporary files after backup
Compress Type
Daily schedule
Destination
Backup Source
Exclude
In-File Delta Type
MySQL database settings:
ID
Password
Hostname
Port
Mysqldump path
*Configurable items are highlighted in red.
<?xml version="1.0" encoding="UTF-8"?>
<Setting>
<!-- This is the backup set setting -->
<Key name="Backup Set Setting">
<!-- Backup set type (Read Only) -->
<Value data="MySQL" name="Type" type="string" />
<!-- Backup set name -->
<Value data="MySQL Daily” name="Name" type="string" />
<!-- Temporary directory for storing backup files -->
<Value data="/tmp" name="Temporary Working Directory"
type="string" />
<!-- Remove temporary files after backup -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="Y" name="Delete temporary files after backup"
type="boolean" />
<!-- Select compression type -->
<!-- GzipDefaultCompression : Normal -->
<!-- GzipBestSpeedCompression: Fast (Compressed size larger than
normal) -->
<!-- Leave the field blank for no compression -->
<Value data="GzipBestSpeedCompression" name="Compression Type"
type="string" />
<!-- This shows the MySQL Database setting -->
<Key name="MySQL Database Setting">
<!-- MySQL Login Name -->
<Value data="root" name="Username" type="string" />
<!-- MySQL Password -->
<Value data="pwd123" name="Password" type="string" />
<!-- MySQL Host -->
<Value data="localhost" name="Host" type="string" />
<!-- MySQL Port -->
www.bobcloud.net 55
<Value data="3306" name="Port" type="string" />
<!-- Path to mysqldump -->
<Value data="/usr/bin/mysqldump" name="mysqldump path"
type="string" />
</Key>
<!-- This includes the database you want to backup -->
<!-- Copy and paste the whole <Key> to add more selected sources -
->
<Key name="Selected Source">
<!-- Please enter the path in the format of
"MySQL/_YOUR_FILE_NAME_" -->
<Value data="MySQL" name="Path" type="string" />
</Key>
<Key name="Deselected Source">
<!-- Please enter the path in the format of
"MySQL/_YOUR_FILE_NAME_" -->
<Value data="MySQL/information_schema" name="Path"
type="string" />
</Key>
<Key name="Deselected Source">
<!-- Please enter the path in the format of
"MySQL/_YOUR_FILE_NAME_" -->
<Value data="MySQL/performance_schema" name="Path"
type="string" />
</Key>
<!-- Settings for your scheduled backups -->
<Key name="Schedule Settings">
<!-- Enable scheduled backup on this computer -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="Y" name="Enable" type="boolean" />
<!-- Daily settings -->
<!-- Copy and paste the whole <Key> to add more daily schedules
-->
<Key name="Daily Schedule Settings">
<!-- Name of schedule -->
<Value data="Daily-Schedule" name="Name" type="string" />
<!-- Start hour -->
<!-- 0, 1, 2... 23 -->
<Value data="22" name="Hour" type="integer" />
<!-- Start minute -->
<!-- 0, 1, 2... 59 -->
<Value data="00" name="Minute" type="integer" />
</Key>
</Key>
<!-- This is the collection of destinations -->
<Key name="Destination Settings">
<!-- Concurrency level is the number of destinations to run
backup concurrently -->
<!-- 2, 3, 4... -->
<!-- 1 : Backup to destinations one by one sequentially -->
<!-- -1: Backup to all destinations concurrently -->
<Value data="-1" name="Concurrency Level" type="integer" />
<!-- CBS destination is where the files are backup to server --
>
<Key name="CBS Destination Settings">
</Key>
</Key>
<!-- This shows the in-file delta setting -->
www.bobcloud.net 56
<Key name="In-file Delta Setting">
<!-- Enable in-file delta backup -->
<!-- Y: Yes -->
<!-- N: No -->
<Value data="Y" name="Enable" type="boolean" />
<!-- Default in-file delta type -->
<!-- D: Differential -->
<!-- I: Incremental -->
<Value data="I" name="Default Delta Type" type="string" />
</Key>
</Key>
</Setting>