Help


How to use Cloud Backup Panel

Introducing the Panel

Servers

Under the Servers section, you must add all the list of servers that you want to backup.

We support:

  • MySQL
  • MariaDB
  • MongoDB
  • Percona Server
  • PostgreSQL


It is mandatory to create an user in your SQL management.


mysql> CREATE USER 'mybackupuser'@'localhost' IDENTIFIED BY 'mybackuppasswd';

mybackupuser is valid for the following examples only. You should change it to the proper user

Also there are some grant privileges depending the method you want to use for backing up.

You have to check here before continue.

Storage

Storage is what you will need to have to store your backup files., make sure you have enough space to store this files otherwise backups won’t be able to be stored and depending on the mount point you choose in case of a local backup this may lead into out of space on your productions servers.Our cloud backup tool supports different types of storages, local and remote storage if you are willing to use cloud providers like AWS using S3. Before using your S3 storage you will need to enter to third party integrations at the left menu and click on AWS S3.In this section, you will need to import a key or N keys as different S3 access you may need. All backups are encrypted with AES 256 in case of any problem with the panel you have keys to decrypt your backups.


  • Storage List

  • Add New Storage
  • Schedules

    The scheduler helps to design the backup execution process and its life cycle, at this section you will choose when your backups will run defining a role or special schedule, you can have as many schedules as you may need.


  • Schedule List

  • Add New Schedule
  • Retention Policies

    The backup retention policy is the rule or set of rules you must set to specify which backups must be retained on the “backup storage mount points” you previously specified at the Storage Section to meet your recovery needs. Your backup policy that could be built upon redundancy or a recovery window depending on your business needs and rules. The main difference between recovery window and redundancy policy is that recovery window means a certain timeframe i.e. “keep last 30 days backups” no matter what amount of backups you have, this kind of backup policies fit when you need to do more point in time recoveries and when certain amount of time passed the backup no longer meet your recovery needs. Redundancy is to keep x amount of backups executed no matter what the frequency in time you make them.


  • Retention Policies List

  • Add New Retention Policy
  • Installing The Agent

    Under the Servers Section you have to choose the server added before. When you click on the selected server you will see some detailed information like storage and your database engine.


    Now it is time to install the agent on your server. You must click on Get Install Link

    You only need to copy and paste the code in your server


    curl -L -s 'https://companyname.binlogic.io/install/VHNZ7yZ03ghKYcbAkqcRRRCjh3OtkfNmOuWTlOnw876oxG31jX0DXijywlWBhTzh8YUkFLeO7Oo8MkR9vXsz8H' | sudo su


  • For security reasons, the link will expire after 60 minutes and/or after 2 download attempts.
  • You can wait just a few seconds you will see the status on a green Running.

    Performing Backups

    Scheduled Backups

    The scheduled backup, helps to design the backup execution process, at this section you will choose when your backups will run defining a role or special schedule, you can have as many schedules as you may need.

  • Scheduling overview
  • Adding new Backup Task
    • In order to start making your backups you will need to start defining your storage and afterwards, we can choose our servers to execute the backups and choose the method ( logical, snapshots, incremental)
      Tasks are all the jobs that you create to generate backups. A task is composed by a schedule a server where you want your backups to be executed a retention policy and a method i.e. xtrabackup, mydumper, mysqldump, lvm, etc.


    Backup Tasks are composed by:

    • Task name: the name to identify the task.
    • Server:  a server to execute the backups.
    • Storage: Where you will place your backups i.e: S3, Local Storage, etc.
    • Schedule: The frequency to run your backups.
    • Retention: For how long you want to keep your backups.
    • Slack: Choose the channel to receive notifications from this task.
    • Backup method: What kind of backup you will execute.
    • Notice that all the fields to complete were already created following this tutorial.
    • If, for example, Storage field is blank you probably missed that step.

    Backups Methods

    • mysqldump (MySQL, MariaDB, Percona Server)
    • Mysqldump is a part of the mysql relational database package. It allows you to "dump" a database, or a collection of databases, for backup or transferral to another SQL server. The server that imports the databases does not have to be mysql.
    • Percona xtrabackup (MySQL, MariaDB, Percona Server)
    • This is third-party software. Install instructions for Debian-Ubuntu link here or Red Hat-CentOS link here. Percona XtraBackup (supported from 2.3.8 onwards) is an open source tool for performing hot backups of MariaDB, MySQL and Percona Server databases. It can perform compressed, incremental and streaming backups. It was designed to back up XtraDB/InnoDB tables but can also back up other storage engines.
    • mydumper (MySQL, MariaDB, Percona Server)
    • This is third-party software, you can download it at Github here. It supports multi-thread so it's faster, the dump it creates consists of one or more compressed files for each table using gzip and it can also create a consistent backup to use for a new slave, as long as all tables use the InnoDB storage engine.
    • mysqlpump (MySQL, MariaDB, Percona Server)
    • Mysqlpump is a part of the mysql relational database package, was added in MySQL 5.7.8. mysqlpump is a utility that performs logical backups (which means backing up your data as SQL statements instead of a raw copy of data files). It was added in MySQL Server version 5.7.8, and can be used to dump a database or a set of databases to a file and then loaded on another SQL server (not necessarily a MySQL server).
    • grantdumper (MySQL, MariaDB, Percona Server)
    • Simple Script to back up and restore your mysql grants Available under the GPL version 2. Get it from: Binlogic Github.
    • mongodump (mongoDB)
    • mongodump is a utility for creating a binary export of the contents of a database. mongodump can export data from either mongod or mongos instances.
    • pg_dumpall (postgreSQL)
    • pg_dumpall is a utility for writing out ("dumping") all PostgreSQL databases of a cluster into one script file. The script file contains SQL commands that can be used as input to psql to restore the databases. It does this by calling pg_dump for each database in a cluster. pg_dumpall also dumps global objects that are common to all databases. (pg_dump does not save these objects.) This currently includes information about database users and groups, tablespaces, and properties such as access permissions that apply to databases as a whole. Since pg_dumpall reads tables from all databases you will most likely have to connect as a database superuser in order to produce a complete dump. Also you will need superuser privileges to execute the saved script in order to be allowed to add users and groups, and to create databases.

    Custom Scripts

    Custom Scripts allows to run your in house made scripts when executing Backups and Restores. There are 3 events when running a backup where you can execute a script: Before execute, After execution if succeed and after execution if fails, this are for both Backups and Restores. Is important to note that we only allow scripts placed locally in the server/instance and not plain commands. Binlogic CloudBackup expects a 0 exit status for each script you execute otherwise, a non zero exit status, will mark the task as failed. Output from custom scripts are saved in binlogic-agent.log placed in /var/log/binlogic. Whatever you run a custom scripts there are a few variables in the agent environment so you can get context information is each script. Environment variables in each Event are:

    Before Backup

    • BL_SERVER_NAME [ server.instance name ]
    • BL_TASK_NAME [ backup task name ]
    • BL_EVENT [ event when executing a script. In this case BACKUP_BEFORE ]
    • BL_BACKUP_METHOD [ method used to execute backup ]

    After Backup if Succeed

    • BL_SERVER_NAME [ server.instance name ]
    • BL_TASK_NAME [ backup task name ]
    • BL_EVENT [ event when executing a script. In this case BACKUP_AFTER_SUCCESS ]
    • BL_BACKUP_METHOD [ method used to execute backup ]
    • BL_BACKUP_FILENAME [ path to backup files ]

    After Backup if Fails

    • BL_SERVER_NAME [ server.instance name ]
    • BL_TASK_NAME [ backup task name ]
    • BL_EVENT [ event when executing a script. In this case BACKUP_AFTER_FAIL ]
    • BL_BACKUP_METHOD [ method used to execute backup ]
    • BL_BACKUP_FILENAME [ path to backup files ]

    Before Restore

    • BL_EVENT [ event when executing a script. In this case RESTORE_BEFORE ]
    • BL_BACKUP_METHOD [ method used to execute backup ]

    After Restore if Succeed

    • BL_EVENT [ event when executing a script. In this case RESTORE_AFTER_SUCCESS ]
    • BL_BACKUP_METHOD [ method used to execute backup ]

    After Restore if Fails

    • BL_EVENT [ event when executing a script. In this case RESTORE_AFTER_FAIL ]
    • BL_BACKUP_METHOD [ method used to execute backup ]

    Validation and Restores

    Backups List

    In the backup list you’ll be able to restore the backup done in Schedule Backups , in order to use this functionality at least one backup must have finished successfully. To make a restore you have to go to Backup List menu, the backups that were successful will have a Restore Button. Pressing this button will open a restore wizard where you’ll be able to confirm on which server to restore to and the restore process itself. Once confirm a new task will be created automatically in the Restore List you’ll be able to follow the status from there.

    Read only servers don't allow restore, so first you'll need to change server configuration and remove the read only property

  • Backup List overview
  • Restore Window overview
  • Restore list overview
  • Scheduled Restores

    Schedules restores allow you to test your restores files in a test server, making it possible to test them and mark them as good. In order to create your restore task you’ll need a schedule backup that has a schedule different from “On Demand”, any other option will allow you to create an schedule restore task. You can create as many Schedule Restore Task as Schedules Backup Task you have.

  • Scheduled restores overview
  • Adding new Restore Task

    Here you have a list of all the fields you need to fill with their explanation in order to complete de task:

    • Task name: the name to identify the task.
    • Use backup from task: select the Schedule backup you wish to restore from (only not On-Demand servers will be shown).
    • Schedule: Choose from the options.
      • As soon as backup finishes. It will launch a restore task as soon as backup finishes
      • Timely schedule, It will launch a restore task testing the last backup at a especify time.
    • Slack: Choose the channel to receive notifications from this task (view notifications help).
    • Custom Scripts. Execution scripts that go with your task
      • Before restore runs: Script to run previous to execute the restore.
      • When restore succeeds: Script to execute if restore finish successfully.
      • When restore fails: Script to execute if restore finish unsuccessfully.
  • Add New Scheduled Restore Task overview

  • Validated Backups

    Backup that have been tested will update their icon in the backup list showing that this backup file has been tested.

  • Validated backup overview
  • Unvalidated backup overview
  • Restores List

    In this list, you’ll find you restored backups done, if you want more detailed information you can click in Show Output button.

  • Restore list overview
  • Restore detailed overview
  • Third Party Integrations

    AWS S3

    This section will help you create and view you S3 buckets, you can add as many as you need. The process of adding buckets it’s similar in all the control panel. Make sure to have all the information to set up your S3 bucket.

  • S3 Buckets overview
  • Information required to add a S3 bucket

    In case you don't have created you bucket yet, please visit this Reference Guide.

    It is also recommended to create a Cleanup Policy, follow this link.

    • Description: the name to identify the Bucket.
    • Bucket: Name of the bucket you defined in AWS console.
    • Prefix: Choose prefix you'll like to add to the backups to identify files easily.
    • Region: Choose the Region where your Bucket was created.
    • Access Key: Access key of your bucket.
    • Secret Access Key: Secret Access key of your bucket.


  • S3 Buckets configuration overview
  • Slack

    Slack Integration help get notifications to a Slack channel or to your Slack user. To be able to configure this functionality you’ll need to be a Slack Administrator User. Steps are very simple, select slack integration in menu, click on Add to Slack, this will take you to Slack Administration webpage where you’ll be able to authorize the integration. To change notification setting you need to go to User Setting - notifications.

  • Slack list overview
  • Authorazing the Integration

    Simple select channel or username and Authorize.

    • Post to: the name to identify the task, you can start writing to get suggestions.
    • Once the Channel/User is selected press Authorize.
  • Slack Integration overview
  • Settings

    Notifications

    the notification settings are under the user panel section, in the right corner of the panel. Once you Click in the image a menu will scroll down with the options Settings or Logout, Click settings and available for your security access you’ll see Notifications option.


  • Dashboard User Menu Overview
  • General Settings Overview
  • In the notification settings, you’ll be able to change notification email, and the configuration for two types of notifications, Mail and Slack. In order to modification take place you need to click on Save button.

    Notifications are account wide. Changes here will affect all users! and all tasks!

  • Notification Overview
  • User Management

    the User Management feature is under the user panel section, in the right corner of the panel. Once you Click in the image a menu will scroll down with the options Settings or Logout, Click settings and available for your security access you’ll see an User Management option.


  • Dashboard User Menu Overview
  • General Settings Overview
  • To set up a new user, you only need to know, name and email. place that information in the form, select the access level and press add user button. A mail with a link will arrive to the user.


  • Manage Users Overview
  • Welcome Mail Overview