Mysql-zrm: Difference between revisions

From wiki.zmanda.com
Jump to navigation Jump to search
Line 128: Line 128:
==OPTIONS==
==OPTIONS==


; --action <backup|restore|list|purge|parse-binlogs|check|verify-backup> : Specify  which  action to do. This option cannot be specified in the configuration file.
; --action <backup|restore|list|purge|parse-binlogs|check|verify-backup> : This command line option(s) chooses the basic functionality of the utility. It cannot be specified in the configuration file.  


; --backup-set <name> : Specify  backup-set  for  the  backup run. This option cannot be specified in the configuration file. The default value is ''BackupSet1''
; --backup-set <name> : Specify  backup-set  for  the  backup run. This is a command line option only and cannot be specified in the configuration file. The default value is ''BackupSet1''. If such a value is already present, it will be used.


; --source-directory <directory name> : Specify  the   directory containing a backup. This option is             ignored if the action specified is backup. For restore action, both ''source-directory'' and ''bin-logs'' options should not be specified.
; --source-directory <directory name> : Choose the directory containing a backup. This option is ignored when ''backup'' action is specified. For ''restore'' action, both ''source-directory'' and ''bin-logs'' options should not be specified. If both are present, the utility will throw an error.


; --replication | --noreplication : Specify  if  replication files should be backed up. The replica              tion  related  files  will be backed up only if the host is a replication slave. Default option is ''--noreplication''
; --replication | --noreplication : Choose replication to backup replication files. They will be backed up only if the host is a replication slave. Default option is ''--noreplication''.


; --backup-name <name> : Specifies the name of the directory in which  backup  should  be done. This  should be a unique name for each backup run. If not specified, the current timestamp will be used as the backup name.
; --backup-name <name> : Specify the directory path and a unique name to store the backup. If name is not specified or it already exists, the current timestamp will be used as the backup name.


; --all-databases : Specifies  that  all databases should be backed up or restored. This is the default if ''databases'' or ''database'' are not specified.
; --all-databases : Opt for all databases to be backed up or restored. This is the default if ''database'' or ''databases'' are not specified.  


; --databases <"name1 name2 ..."> : Specifies  the specific databases to backup or restore.
; --databases <"name1 name2 ..."> : List the databases to backup or restore.


; --database <name> [--tables <"name1 name2 ...">] : Specifies which specific tables should be backed up. This option is only supported during the backup operation.
; --database <name> [--tables <"name1 name2 ...">] : List the tables that should be backed up. This option is valid during the backup operation only.  


; --destination <directory name> : Directory  to  which  backup should be done. Default location is ''/var/lib/mysql-zrm/''. If this option is specified and the directory must be exist and should be writable by the MySQL ZRM user.
; --destination <directory name> : Specify the directory where backup should be stored. Default location is ''/var/lib/mysql-zrm/''. If this option is specified, the directory must be exist and should be writable by the ZRM for MySQL user. Else the utility will exit with an error.


; --backup-level <0|1> : If 0 is specified, then a full backup is  done. If 1 is  specified,  then  incremental backup is done. Default is full backup.
; --backup-level <0|1> : Choose 0 for full backup. Choose 1 for incremental back up. Default is full backup.  


; --backup-mode <raw|logical> : If ''raw'' is  specified  then  mysqlhotcopy is  used to backup the             specified  database/tables if the database does not contain  any tables that uses a transactional engine. Otherwise, mysqldump is used.  If  logical  backup  mode  is specified then mysqldump is only used. Default value is ''raw''.
; --backup-mode <raw|logical> : Database/tables that use a transactional engine cannot be backed up by ''mysqldump''. They should be backed up by ''mysqlhotcopy''. Choose ''raw'' to use ''mysqlhotcopy'' to backup the database/tables that use a transactional engine. Choose ''logical'' to use ''mysqldump'' to backup the database/tables that don't use a transactional engine.  
: Default value is ''raw''.  


; --lvm-snapshot <size> : This specifies the size of the lvm snapshot to be used. For raw               backups, each specified database is checked to see if that is on a LVM volume. If it is then a snapshot of the specified size is created and that is used to backup up the database. If not it will  use  either mysqlhotcopy or mysqldump based on the logic described in the ''backup-mode'' option. This option is ignored if the ''backup-mode'' is ''logical''.
; --lvm-snapshot <size> :  Set the size of the lvm snapshot to be generated. For ''raw'' backups, each specified database is first checked ensure that it is on a LVM volume and then a snapshot of the specified size is created and used to backup the database. If the specified database is not on a LVM volume, either ''mysqlhotcopy'' or ''mysqldump'' will be used to create the backup based on the logic described in the ''backup-mode'' option. This option is ignored if the ''backup-mode'' is ''logical''.  


; --retention-policy <backup retention time> : Backup image for this backup run will retained for the time specified as parameter. A suffix of 'D' indicates time specified in days. A suffix of 'W' indicates amount specified in weeks (number of days are computed as 7*amount). A suffix  of 'M' indicates amount in months (number of days are computed as 30*amount).A suffix of 'Y' indicates amount specified in years (number of days are computed as 365*amount). For example: if ''--retention-policy 10M'' is specified, it indicates that the backup should be retained for 300 days. If no suffix is specified, the amount specified is assumed to be number of days the backup should be retained. The default value is retain backups forever.
; --retention-policy <backup retention time> : Fix the retention time of the Backup image. Suffix 'D' specifies time in days. Suffix 'W' specifies in weeks (number of days are computed as 7*amount). Suffix 'M' specifies in months (number of days are computed as 30*amount). Suffix 'Y' specifies in Years (number of days are computed as 365*amount).


; --compress|--no-compress : Specifies if the backup images should be compressed or not. Default compression command used is ''gzip''. Default is no compression.
: For example: if ''--retention-policy 10M'' is specified, it indicates that the backup should be retained for 300 days. No suffix means that the amount specified in days. The default value is to retain backups forever.  


; --compress-plugin <plugin> : The program used for compressing backup images.  The specified <plugin> is used for compression (plugin must accept -d option to uncompressing data). The full path to the <plugin> must be specified. This parameter is optional and default is ''gzip''.
; --compress|--no-compress : Choose whether the backup images are to be compressed or not. Default compression command used is ''gzip''. Default is no compression.  


; --no-encrypt| --encrypt : Specifies if the backup should be encrypted. This parameter is optional and the default is no encryption. Encryption keys are not managed by MySQL ZRM.
; --compress-plugin <plugin> : Specify <plugin> along with its full path, to be used for compression (plugin must accept ''-d'' option to uncompress data). This parameter is optional and default is ''gzip''.  


; --encrypt-plugin <plugin> [--decrypt-option <option>] : Specifies that the backup should be encrypted using <plugin>. This must be specified if --encrypt is specified. If decrypt-option is not specified then ''-d'' option of encrypt-plugin is used for decrypting. <plugin> should specify the full path to the encryption utility. This parameter must be specified if backup encryption is enabled.
; --no-encrypt| --encrypt : Choose if the backup should be encrypted. This parameter is optional and the default is no encryption. Encryption keys are not managed by ZRM for MySQL.  


; --bin-logs <"name1 name2 ...> : List  of  binary  log files to be used for restore. The  full  path for  each  file  should  be  specified. For ''restore'' action, both ''source-directory'' and ''bin-logs'' options should not be specified.
; --encrypt-plugin <plugin> [--decrypt-option <option>] : Specify <plugin> along with its full path, to be used for encrypting the backup. If ''decrypt-option'' is not specified then ''-d'' option of encrypt-plugin is used for decrypting.


; --start-position N : Start selective restore of all events after log position N. Log positions can be determined using ''parse-binlogs'' action.
; --bin-logs <"name1 name2 ...> : List binary log files, along with their full paths to be used for restore. For restore action, both ''source-directory'' and ''bin-logs'' options should not be specified. The utility will throw an error if both are specified.


; --stop-position N : Stop selective restore of all events before log position N. Log positions can be determined using ''parse-binlogs'' action.
; --start-position N : Fix the start position N for selective restore of all events after log position N. Log position can be determined using ''parse-binlogs'' action.
 
; --stop-position N : Stop selective restore of all events before log position N. Log positions can be determined using ''parse-binlogs'' action.  


; --offset N : Skip the first N entries of the  first  binary  log file  in  ''bin-logs'' parameter.
; --offset N : Skip the first N entries of the  first  binary  log file  in  ''bin-logs'' parameter.


; --start-datetime <datetime> : Start   selective restore from specified date and time (should be            in MySQL DATETIME or TIMESTAMP format).
; --start-datetime <datetime> : Start selective restore from date and time specified in MySQL DATETIME or TIMESTAMP format. The utility will throw an error if they are not in these formats.
        
        
; --stop-datetime <datetime> : Selective restore till specified date and   time (should  be  in MySQL DATETIME or TIMESTAMP format).
; --stop-datetime <datetime> : Selective restore till specified date and time specified in MySQL DATETIME or TIMESTAMP format. The utility will throw an error if they are not in these formats.
 
; --index|--noindex : Choose index to display of contents during the ''list'' action. Choose ''noindex'' to suppress the display of contents. Default value is ''index''.
 
; --all-backups : Specify display of information of all available backups.  


; --index|--noindex : Specify if  the  contents of the index file should be displayed during the ''list'' action.
; --till-lastfull : Specify display of information of all backups done after last full backup.  


; --all-backups : Specifies  that  information  about  all  available backups should be displayed.
; --copy-plugin <plugin> : Specify plugin along with full pathname to be used for transferring backup files to and from a remote MySQL server to the machine running ZRM for MySQL. Use this option when


; --till-lastfull : Specifies  that  information  till  the last full backup should be displayed.
:1. remote incremental backup is required
:2. copying replication related files from a remote machine
:3. execute mysqlhotcopy (MySQL command) and copy the data from the remote machine
:4. restore data to a remote machine using mysqlhotcopy (MySQL command).


; --copy-plugin <plugin> : Specifies the plugin to be used for transferring backup files to and from a remote mysql server to the machine running MySQL ZRM. This is the mechanism to use if remote incremental backup is required or to copy replication related files from a remote machine or to execute mysqlhotcopy(MySQL command) and copy the data from the remote machine or to restore data to a remote machine. The full path to the plugin must be specified. This parameter is optional.
: This parameter is optional.


; --pre-backup-plugin <plugin> : Specifies the plugin to be called before a backup run. The full path of the plugin must be specified. This parameter is optional.
; --pre-backup-plugin <plugin> : Specify plugin along with full pathname to be called before a backup run. This parameter is optional.  


; --pre-backup-plugin-options <"option1 option2 ..."> : These options are passed to the ''pre-backup-plugin'' as one of the command line arguments.
; --pre-backup-plugin-options <"option1 option2 ..."> : Pass options to the ''pre-backup-plugin'' as one of the command line arguments.  


; --post-backup-plugin <plugin> : Specifies the plugin to be called after a backup run. The full path of the plugin must be specified. This plugin is optional.
; --post-backup-plugin <plugin> : Set the plugin along with full pathname to be called after a backup run. This plugin is optional.  


; --post-backup-plugin-options <"option1 option2 ..."> : These options are passed to the ''post-backup-plugin'' as one of the command line arguments.
; --post-backup-plugin-options <"option1 option2 ..."> : Pass options to the ''post-backup-plugin'' as one of the command line arguments.


; --parse-binlogs-plugin <plugin> : Plugin that can be used filter the output of ''parse-binlogs'' action. The full path of the plugin needs to be specified. This plugin is optional.
; --parse-binlogs-plugin <plugin> : Set the plugin along with full pathname that filters the output of ''parse-binlogs'' action. This plugin is optional.  


; --parse-binlogs-plugin-options <"option1 option2 ..."> : These options are passed to the ''parse-binlogs-plugin'' as one of the command line arguments.
; --parse-binlogs-plugin-options <"option1 option2 ..."> : Pass options to the ''parse-binlogs-plugin'' as one of the command line arguments.


; --options-file <filename> : Specify the file containing all of the MySQL command options.
; --options-file <filename> : Set the file along with full pathname that contains MySQL command options.


; --mailto <mail address> : Address to which backup report to be sent.
; --mailto <mail address> : Set the address to which backup report will be sent.  


; --user <user> : Specify MySQL backup/restore user
; --user <user> : Specify MySQL backup/restore user
Line 202: Line 212:
; --password <password> : Specify password for the MySQL user
; --password <password> : Specify password for the MySQL user


; --host <hostname> : MySQL server host name or IP name
; --host <hostname> : Specify MySQL server host name or IP name.


; --port <portnumber> : MySQL server port
; --port <portnumber> : Specify MySQL server port.


; --socket <name> : Socket file to use for communication with MySQL server
; --socket <name> : Specify socket file to use for communication with MySQL server.


; --mysql-binpath <mysql binaries directory> : Full path where mysql binaries   are   installed. For example: ''/opt/lampp/bin''
; --mysql-binpath <mysql binaries directory> : Set the full path where mysql binaries are installed. For example: ''/opt/lampp/bin''  


; --mysql-binlog-path <location of mysql binary logs> : Full path of the location of mysql binary logs. For example: ''/var/log/mysql''
; --mysql-binlog-path <location of mysql binary logs> : Set the  full path of the location of mysql binary logs. For example: ''/var/log/mysql''


; --ssl-options <"MySQL ssl options"> : Any  --ssl* options that MySQL supports. Please refer to Zmanda Recovery Manager documentation for SSL options details.
; --ssl-options <"MySQL ssl options"> : Set any --ssl* options that MySQL supports. Refer to MySQL Documentation for SSL options details.  


; --comment <"Note about the backup run"> : Comment or a note about the backup run. This can be used to tag backup runs and the note can retrieved using [[mysql-zrm-reporter]](1) tool.
; --comment <"Note about the backup run"> : Insert a comment or a note about the backup run. This can be used to tag backup runs and the note can retrieved using [[mysql-zrm-reporter]](1) utility.


; --quiet|--no-quiet : Specifying no-quiet will lead to the log messages also  being displayed on stdout. Default is ''--no-quiet''.
; --quiet|--no-quiet : Choose quiet to suppress display of log messages on stdout. Choose ''no-quiet'' to display the log messages stdout. Default is ''--no-quiet''.


; --verbose : Provide more verbose output in the log.
; --verbose : Provide verbose output in the log. Default is that verbose is turned off and a terse output is generated.


; --help : Display  help message and exit. This option cannot be specified in the options file.
; --help : Displays the help message and exits. This command line only parameter cannot be specified in the configuration file.


==EXAMPLES==
==EXAMPLES==

Revision as of 00:33, 1 December 2006

NAME

mysql-zrm - Backup and recovery utility for "ZRM for MySQL"

SYNOPSIS

mysql-zrm 
        --action <backup|restore|list|purge|parse-binlogs|check|verify-backup|extract-backup>
          [--backup-set <name>]
          [--source-directory <directory name>]
          [--replication | --noreplication]
          [--backup-name <name>]
          [--all-databases]
          [--databases <"name1 name2 ...">]
          [--destination <directory name>]
          [--database <name> [--tables <"name1 name2...">]]
          [--backup-level <0|1>]
          [--backup-mode <raw|logical>]
          [--lvm-snapshot <size>]
          [--retention-policy   <backup retention time>]
          [--compress | --no-compress ]
          [--compress-plugin <plugin>]
          [--no-encrypt | --encrypt]
          [--encrypt-plugin <plugin> [--decrypt-option <option>]
          [--bin-logs <"name1 name2 ...">]
          [--start-position <#>]
          [--stop-position <#>]
          [--offset <#>]
          [--start-datetime <name>]
          [--stop-datetime <name>]
          [--index|--noindex]
          [--till-lastfull]
          [--all-backups]
          [--copy-plugin <plugin>]
          [--pre-backup-plugin <plugin>]
          [--pre-backup-plugin-options <"option1 option2 ...">]
          [--post-backup-plugin <plugin>]
          [--post-backup-plugin-options <"option1 option2 ...">]
          [--parse-binlogs-plugin <plugin>]
          [--parse-binlogs-plugin-options <"option1 option2 ...">]
          [--options-file <filename>]
          [--mailto <mail address>]
          [--user <user>]
          [--password <password>]
          [--host <hostname>]
          [--port <portnumber>]
          [--socket <name>]
          [--mysql-binpath  <location  of MySQL commands>]
          [--mysql-binlog-path <location of MySQL binary logs>]
          [--ssl-options <"MySQL ssl options">]
          [--comment <"Note about the backup">]
          [--quiet|--no-quiet]
          [--verbose]
          [--help]

DESCRIPTION

ZRM for MySQL is designed to schedule and create backups of live MySQL databases in a convenient and automated manner. Configure it only once to reflect the MySQL deployment. Schedule it to run unattended. It has intelligent options to help an administrator to verify the backups created. Generate various types of reports about the backup created. The backups can be compressed and encrypted as desired. Get information about the backups via an email or RSS feed. Write pre and post plugins to extend the suite further. Use it to fully/selectively restore the database on the same system or another system.

Its main utility is mysql-zrm. It does the core function of backup and recovery of various MySQL databases.

Use mysql-zrm.conf(5) the configuration file to configure mysql-zrm. The action check can be used to verify the configuration of mysql-zrm.

Use mysql-zrm to create full or incremental backups of MySQL databases and do full, incremental and selective restore of them. The list option provides information about the prior backups.

Use it to implement retention policy for the backup images. The action verify-backup verifies consistency of backup images.

Parse binary logs to find out the timestamp and/or log position of specific database events.

Backups can be compressed and encrypted. The action extract-backup can be used to uncompress and/or decrypt the specified backup.

BACKUP SETS

ZRM for MySQL organizes the backups in terms of backup sets. Each backup set defines the list of databases or tables within a database, how it should be backed up and the backup schedule for the data. Backup sets are identified by a unique name string.

Every backup run (each time mysql-zrm is executed) is associated with one backup set. Various parameters can be associated with each backup run.

mysql-zrm first reads the global configuration file (/etc/mysql-zrm/mysql-zrm.conf). The global configuration file can be overridden by backup set specific configuration file stored in /etc/mysql-zrm/<backup set name>/ directory. The mysql-zrm command line options will override the parameters specified in the configuration files.

BACKUP METHODS

mysql-zrm backups can be either full or incremental.

Full backups can be logical backups or raw backups.

Logical backups contain SQL statements to recreate the database.

Raw backups are actual copies of the database files.

When logical backup is specified, the utility uses only mysqldump for backing up specified databases and tables.

When raw backup is specified, the utility has the ability to decide which backup mechanism to use for a particular database. If there are no transactional storage engine based tables in the specified database, then it uses mysqlhotcopy for backing up that database. Otherwise, it uses mysqldump for backing up the specified database.

When lvm-snapshot is specified and the specified database is on an LVM volume, then a snapshot of that volume is taken and the database is backed up from that snapshot. If the database is not on an lvm volume then the mysqlhotcopy or mysqldump will be used as per the logic in the last paragraph.

When replication is specified and if the MySQL server is a replication slave, then it will also backup all replication related files.

When destination specified then the backups are stored in a sub-directory under the specified directory. Default path is "/var/lib/mysql-zrm". If the destination specified does not exist, it will throw an error and exit i.e. the utility does not create the directory.

An index file is also created in the backup directory. The index is a file that contains the details of what was backed up, how much data was backed up, what parameters were used to backup the data, how much time it took to backup etc.

When incremental backup is specified, then the options backup-mode, lvm-snapshot, all-databases, databases, database and tables are ignored.

RECOVERY

When restoring backed up databases, only all-databases and databases options are supported.

When the backup contains only specific tables from a database, you need to specify mysql-zrm action as restore and the database name to restore the backed up tables. Tables not included in the backup but present in the database will be left untouched.

OTHER ACTIONS

Use list action to display the backup level, the name of the directory containing the backup and the index of the last backup of the specified backup set.

Opt for all-backups action to display specified data for all of the backups that have happened till date for the given backup-set.

Specify till-lastfull action to display the data since last full backup.

Use source-directory action to display the index of that backup.

Action noindex will display only the level of backup and the name of the directory containing the backup. The contents of the index file will not be displayed.

Action parse-binlogs will display the parsed output of the binary logs. This is useful to find out the log positions and/or timestamp to be used for restore operations. Either the source-directory or the bin-logs option should be specified. When the source-directory option is specified then the parsed output of the binary logs from that backup will be displayed. When bin-logs option is specified then parsed output of the binary log file specified will be displayed.

Specify purge action to remove backups present in the directory specified by the destination option whose retention policy has been exceeded.

Opt for verify-backup action to check if the backed up data is consistent. The directory containing the backup needs to be specified using the source-directory option.

OPTIONS

--action <backup|restore|list|purge|parse-binlogs|check|verify-backup>
This command line option(s) chooses the basic functionality of the utility. It cannot be specified in the configuration file.
--backup-set <name>
Specify backup-set for the backup run. This is a command line option only and cannot be specified in the configuration file. The default value is BackupSet1. If such a value is already present, it will be used.
--source-directory <directory name>
Choose the directory containing a backup. This option is ignored when backup action is specified. For restore action, both source-directory and bin-logs options should not be specified. If both are present, the utility will throw an error.
--replication | --noreplication
Choose replication to backup replication files. They will be backed up only if the host is a replication slave. Default option is --noreplication.
--backup-name <name>
Specify the directory path and a unique name to store the backup. If name is not specified or it already exists, the current timestamp will be used as the backup name.
--all-databases
Opt for all databases to be backed up or restored. This is the default if database or databases are not specified.
--databases <"name1 name2 ...">
List the databases to backup or restore.
--database <name> [--tables <"name1 name2 ...">]
List the tables that should be backed up. This option is valid during the backup operation only.
--destination <directory name>
Specify the directory where backup should be stored. Default location is /var/lib/mysql-zrm/. If this option is specified, the directory must be exist and should be writable by the ZRM for MySQL user. Else the utility will exit with an error.
--backup-level <0|1>
Choose 0 for full backup. Choose 1 for incremental back up. Default is full backup.
--backup-mode <raw|logical>
Database/tables that use a transactional engine cannot be backed up by mysqldump. They should be backed up by mysqlhotcopy. Choose raw to use mysqlhotcopy to backup the database/tables that use a transactional engine. Choose logical to use mysqldump to backup the database/tables that don't use a transactional engine.
Default value is raw.
--lvm-snapshot <size>
Set the size of the lvm snapshot to be generated. For raw backups, each specified database is first checked ensure that it is on a LVM volume and then a snapshot of the specified size is created and used to backup the database. If the specified database is not on a LVM volume, either mysqlhotcopy or mysqldump will be used to create the backup based on the logic described in the backup-mode option. This option is ignored if the backup-mode is logical.
--retention-policy <backup retention time>
Fix the retention time of the Backup image. Suffix 'D' specifies time in days. Suffix 'W' specifies in weeks (number of days are computed as 7*amount). Suffix 'M' specifies in months (number of days are computed as 30*amount). Suffix 'Y' specifies in Years (number of days are computed as 365*amount).
For example: if --retention-policy 10M is specified, it indicates that the backup should be retained for 300 days. No suffix means that the amount specified in days. The default value is to retain backups forever.
--compress|--no-compress
Choose whether the backup images are to be compressed or not. Default compression command used is gzip. Default is no compression.
--compress-plugin <plugin>
Specify <plugin> along with its full path, to be used for compression (plugin must accept -d option to uncompress data). This parameter is optional and default is gzip.
--no-encrypt| --encrypt
Choose if the backup should be encrypted. This parameter is optional and the default is no encryption. Encryption keys are not managed by ZRM for MySQL.
--encrypt-plugin <plugin> [--decrypt-option <option>]
Specify <plugin> along with its full path, to be used for encrypting the backup. If decrypt-option is not specified then -d option of encrypt-plugin is used for decrypting.
--bin-logs <"name1 name2 ...>
List binary log files, along with their full paths to be used for restore. For restore action, both source-directory and bin-logs options should not be specified. The utility will throw an error if both are specified.
--start-position N
Fix the start position N for selective restore of all events after log position N. Log position can be determined using parse-binlogs action.
--stop-position N
Stop selective restore of all events before log position N. Log positions can be determined using parse-binlogs action.
--offset N
Skip the first N entries of the first binary log file in bin-logs parameter.
--start-datetime <datetime>
Start selective restore from date and time specified in MySQL DATETIME or TIMESTAMP format. The utility will throw an error if they are not in these formats.
--stop-datetime <datetime>
Selective restore till specified date and time specified in MySQL DATETIME or TIMESTAMP format. The utility will throw an error if they are not in these formats.
--index|--noindex
Choose index to display of contents during the list action. Choose noindex to suppress the display of contents. Default value is index.
--all-backups
Specify display of information of all available backups.
--till-lastfull
Specify display of information of all backups done after last full backup.
--copy-plugin <plugin>
Specify plugin along with full pathname to be used for transferring backup files to and from a remote MySQL server to the machine running ZRM for MySQL. Use this option when
1. remote incremental backup is required
2. copying replication related files from a remote machine
3. execute mysqlhotcopy (MySQL command) and copy the data from the remote machine
4. restore data to a remote machine using mysqlhotcopy (MySQL command).
This parameter is optional.
--pre-backup-plugin <plugin>
Specify plugin along with full pathname to be called before a backup run. This parameter is optional.
--pre-backup-plugin-options <"option1 option2 ...">
Pass options to the pre-backup-plugin as one of the command line arguments.
--post-backup-plugin <plugin>
Set the plugin along with full pathname to be called after a backup run. This plugin is optional.
--post-backup-plugin-options <"option1 option2 ...">
Pass options to the post-backup-plugin as one of the command line arguments.
--parse-binlogs-plugin <plugin>
Set the plugin along with full pathname that filters the output of parse-binlogs action. This plugin is optional.
--parse-binlogs-plugin-options <"option1 option2 ...">
Pass options to the parse-binlogs-plugin as one of the command line arguments.
--options-file <filename>
Set the file along with full pathname that contains MySQL command options.
--mailto <mail address>
Set the address to which backup report will be sent.
--user <user>
Specify MySQL backup/restore user
--password <password>
Specify password for the MySQL user
--host <hostname>
Specify MySQL server host name or IP name.
--port <portnumber>
Specify MySQL server port.
--socket <name>
Specify socket file to use for communication with MySQL server.
--mysql-binpath <mysql binaries directory>
Set the full path where mysql binaries are installed. For example: /opt/lampp/bin
--mysql-binlog-path <location of mysql binary logs>
Set the full path of the location of mysql binary logs. For example: /var/log/mysql
--ssl-options <"MySQL ssl options">
Set any --ssl* options that MySQL supports. Refer to MySQL Documentation for SSL options details.
--comment <"Note about the backup run">
Insert a comment or a note about the backup run. This can be used to tag backup runs and the note can retrieved using mysql-zrm-reporter(1) utility.
--quiet|--no-quiet
Choose quiet to suppress display of log messages on stdout. Choose no-quiet to display the log messages stdout. Default is --no-quiet.
--verbose
Provide verbose output in the log. Default is that verbose is turned off and a terse output is generated.
--help
Displays the help message and exits. This command line only parameter cannot be specified in the configuration file.

EXAMPLES

mysql-zrm is used for database restoration, verification of backup images and parsing binary logs (incremental backups).

For restoring backup image dated 18 Aug 2006 (backup image can be either full or incremental backup):

mysql-zrm --action restore --source-directory /var/lib/mysql-zrm/backupset1/20060818121532

The above command will restore all databases that were backed up. If the source directory points to a full backup, it will do a full restore else it will do a incremental restore.

mysql-zrm --action restore --source-directory /var/lib/mysql-zrm/backupset1/20060818121532 \
          --databases "db1 db2 db3

The above command does a selective restore of the specified databases that were backed up.

The following command does a selective restore of all specified binary log files using a single MySQL server connection.

mysql-zrm  --action restore \
           --bin-logs /var/lib/mysql-zrm/backupset1/20060818121532/mysql-bin.[0-9]* \
                      /var/lib/mysql-zrm/backupset1/20060819121532/mysql-bin.[0-9]*

The following command parses and displays the relevant contents of all specified binary log files. This can be used to find out what position and or timestamp to use for selective restores.

 mysql-zrm  --action parse-binlogs \
            --bin-logs /var/lib/mysql-zrm/backupset1/20060818121532/mysql-bin.[0-9]* \
                       /var/lib/mysql-zrm/back-upset1/20060819121532/mysql-bin.[0-9]*


The following command verifies the backup images of the last backup run for the backup set backup.

 mysql-zrm --action verify-backup --backup-set backup

FILES

/var/lib/mysql-zrm
Directory under which all backup data is stored.
/etc/mysql-zrm/<backup set name>/mysql-zrm.conf
Configuration file read by mysql-zrm tool.

RETURN VALUES

On success, zero is returned. On error, non-zero value is returned.

SEE ALSO

mysql-zrm-scheduler(1), mysql-zrm-reporter(1), mysql-zrm.conf(5), mysqldump(1), mysqlbinlog(1), mysql(1), lvm(8), Zmanda Recovery Manager for MySQL

AUTHOR

Zmanda Inc. (http://www.zmanda.com)