PDA

View Full Version : parse error & RAW backup mode?



sdillion
January 30th, 2007, 05:53 AM
Thanks for a great software -- it works like a charm! :thumbsup: I do have two quick questions:
1- after running the following command within SSH


mysql-zrm-scheduler --now --backup-set dailyrun


The logs being shown on the screen shows that the backup was successful except for one line:


ERROR: Missing file /var/lib/mysql-zrm/dailyrun/html/index, can not parse this index file


Any idea why this happened? The email content is

2- In the config file, I have set all_databases=1 and backup_mode=logical but for some reason, only one backup.sql file is generated containing sql structure and data for one database. The other databases are in their own folder containing some files with extensions like opt, frm, MYD, MYI.

Many thanks in advance.

shailen
January 30th, 2007, 09:00 AM
Could you please post your mysql-zrm.conf file for backup-set dailyrun1.

Thanks!

-Shailen

ktill
January 30th, 2007, 02:40 PM
Thanks for a great software -- it works like a charm! :thumbsup: I do have two quick questions:
1- after running the following command within SSH


mysql-zrm-scheduler --now --backup-set dailyrun


The logs being shown on the screen shows that the backup was successful except for one line:


ERROR: Missing file /var/lib/mysql-zrm/dailyrun/html/index, can not parse this index file



Hi,

set html-report-directory in mysql-zrm.conf to some directory that you want the mysql report to go to. Example: html-report-directory= /myhome/mysql-zrm-reports/

The error should go away.
I'll improve the way mysql-zrm-scheduler calls mysql-zrm-reporter in the next release.

Hope this helps!

sdillion
January 31st, 2007, 01:09 AM
Many thanks for your quick responses! The conf file is:



#
# Template for Zmanda Recovery Manager for MySQL configuration file
#
# Global configuration file is /etc/mysql-zrm/mysql-zrm.conf
# The file should be copied to /etc/mysql-zrm/<backup set name>/mysql-zrm.conf
# if backup set specific modifications are required.
#
# MySQL ZRM configuration file describes the backup configuration for
# a backup set. This file is organized into five sections for convenience
# - Backup parameters,
# - Databases/tables that are part of backup set,
# - MySQL server parameters
# - ZRM parameters.
# - ZRM plugin parameters.
#
# For more information about Zmanda Recovery Manager for MySQL, please
# see mysql-zrm(1) and/or Administration manual at
# http://mysqlbackup.zmanda.com/
#
# Any line starting with '#' are comments and will be ignored

#
# Backup parameters
#

# Backup comment. This is a text string which can be retrieved
# using the mysql-zrm-reporter(1) tool. You can store some notes
# about the backup set.
# This parameter is optional and has no defaults.
#comment=This is a comment

# Backup level. It can be full or incremental
# Use 0 for full and 1 for incremental backups
# This parameter is optional and default value is full backup.
#
backup-level=0

# Backup method
# Values can be "raw" or "logical". Logical backup are backups using
# mysqldump(1) tool
# This parameter is optional and default value is "raw".
#
backup-mode=logical

# Size of LVM snapshot. This parameter is optional and is required only
# for "raw" backup-mode and if the MySQL database data are stored in
# LVM logical volumes.
# A size suffix of k for kilobyte, m for megabyte, g for gigabyte
# or t for terabyte
#
#lvm-snapshot=10M

# Directory to which backups are done. All backups are stored under this
# directory. This parameter is optional and the default
# value is "/var/lib/mysql-zrm"
#
#destination=/mnt/back-up/databases

# Specifies how long the backup should be retained. The value can be
# specified in days (suffix D), weeks (suffix: W), months (suffix: M) or
# years (suffix Y). 30 days in a month and 365 days in a year are assumed
# This parameter is optional and the default is the backups are retained
# forever.
#
retention-policy=10D

# This parameter should be set to 1 if MySQL ZRM backups are being on done on a
# MySQL replication slave.
#replication=1

# This parameter should be set to 1 if backups should be compressed. If this
# parameter is set, gzip(1) command is used by default. If different
# compression algorithm should be used, it must be set in "compress-plugin"
# parameter. Default: There is no data compression.
compress=0

# This specifies the program to be used for compression. The "compression"
# parameter must be set for this parameter to be used. The compression
# command should also support -d option for uncompress backup images. If
# value is not specified then gzip(1) is used for compression.
#compress-plugin=/usr/bin/gzip

# This parameter should be set to 1 if backups should be encrypted.
# The "encrypt-plugin" parameter must be configured. Default: There is no
# data encryption.
#encrypt=1

# This parameter specifies that the program that should be used for
# backup data encryption. "decrypt-option" parameter should also be specified.
#encrypt-plugin="/usr/share/mysql-zrm/plugins/encrypt.pl"

# This specifies the option to be passed to the encryption
# program specified as "encrypt-plugin" parameter for decryption.
#decrypt-option="-d"

#
# Databases/Tables in the backup set
#
# One of the "all-databases" or "databases" or "tables"/"database" parameters
# should be specified. If none of the them are specified, "all-databases"
# is assumed.
#

# This parameter should be set to 1 if all databases are part of this backup set
#
all-databases=1

# List of databases that are part of this backup set. Multiple database
# names are separated by space character. This parameter is ignored if
# "all-databases" is set 1.
#
#databases=wikidb forums

# List of specific tables that are part of this backup set. This parameter
# should not be specified if all tables in the databases in "databases"
# parameter are part of the backup set. Multiple table names should be
# separated by space character. The database to which these tables belong
# to should be specified in "database" parameter.
#
#tables=text user page
#database="wikidb"

#
# MySQL server parameters
#

# MySQL database user used for backup and recovery of the backup set.
# This parameter is optional. If this parameter is not specified, values from
# my.cnf configuration file.
#
user="*****"

# MySQL database user password.
# This parameter is optional. If this parameter is not specified, values from
# my.cnf configuration file or no password is used.
#
password="*****"

# Fully qualified domain name of the MySQL server.
# This parameter is optional. If this parameter is not specified, values from
# my.cnf configuration file.
#
#host="localhost.company.com"

# Port to which the MySQL server is listening to. This parameter is optional
# and default value is 3306
#
#port=3306

#Name of Socket file that can be used for connecting to MySQL
#
#socket=/var/lib/mysql/mysql.sock

# ssl-options are arguments that are passed to MySQL client commands
# for SSL connection to the MySQL server. This parameter is optional and is
# required only if MySQL server allows SSL connections.
#
#ssl-options="--ssl --ssl-ca=file1 --ssl-cert=file2 --ssl-key=file3"

# Directory where MySQL commands can be found. The parameter is optional.
#
#mysql-binpath="/opt/lampp/bin"

# Directory where MySQL binary logs can be found. The parameter is optional.
#
#mysql-binlog-path="/var/log/mysql"

# Directory to use for temporary storage. This parameter is optional
#
#tmpdir=/tmp

#
# ZRM parameters
#

# This parameter controls the verbosity of MySQL ZRM logging. The MySQL ZRM logs
# are available at /var/log/mysql-zrm/mysql-zrm.log. This parameter is optional
# default value is 0 (less verbose).
# The valid values are 0 and 1
#
#verbose=1

# After a backup run the backup report is emailed to the mailto address
# This parameter is optional and default behavior is not to send mail
# notifications.
#
mailto="*********"

# The list of backup reports that are generated after each backup run if
# "html-report-directory" parameter is specified.
# If this parameter is not specified, "backup-status-info" report is generated.
# Valid report names are : backup-method-info, backup-status-info,
# backup-retention-info, backup-performance-info,
# restore-full-info, restore-incr-info,
# replication-info, backup-app-performance-info
# See mysql-zrm-reporter(1) for details of backup reports.
# Multiple report names should be separated by ",".
#
#html-reports=backup-status-info

# Directory in which Text/HTML reports will be created by mysql-zrm-reporter(1)
# tool. If this parameter is specified, the mysql-zrm-reporter(1) creates the
# backup reports in this directory after each successful or unsuccessful
# backup run.
# Text reports will be created under "Text" sub-directory
# HTML reports will be created under "Html" sub-directory
#
#html-report-directory=/var/www/mysql-zrm/reports/

# If backup reports are required as RSS feed, "webserver-url" parameter must
# be specified. The value must be set to a valid location on the web server
# in which HTML reports are located and that URL can be used by
# administrator/user to browse HTML reports and can get to the RSS feeds.
# If this parameter is not specified, backup reports are not generated as
# RSS feeds. The list of reports that are available as RSS feed is specified
# in "html-reports".
#
#webserver-url=http://www.company.com/reports/html/

# Location of RSS header file. Administrators can customize RSS channel
# properties using this file. A template for RSS header is available in
# /usr/share/mysql-zrm/plugins/RSS.header file. Location of RSS header
# must be provided if "webserver-url" is specified.
#
#rss-header-location=/etc/mysql-zrm/

#
# ZRM plugin parameters.
# ZRM provides plugin interfaces to allow MySQL administrators to customize
# the backup to their environment.
#

# COPY plugin: Only one copy-plugin must be configured for a backup set.
#
# Socket Copy plugin is to used to transfer backup files from MySQL server to
# the machine running ZRM for MySQL with sockets.
#
# Please read the Notes at /usr/share/doc/mysql-zrm/README-plugin-socket-copy
#
#copy-plugin=/usr/share/mysql-zrm/plugins/socket-copy.pl

# SSH Copy plugin is to used to transfer backup files from MySQL server to
# the machine running ZRM for MySQL with ssh
#
# Please read the Notes at /usr/share/doc/mysql-zrm/README-plugin-ssh-copy
#
#copy-plugin=/usr/share/mysql-zrm/plugins/ssh-copy.pl

# PRE-BACKUP plugin: Plugin that will be called before a backup run for
# the backup set.
#pre-backup-plugin="/usr/share/mysql-zrm/plugins/pre-backup.pl"

# Set of parameters passed to the pre-backup-plugin. These parameters are
# passed to "pre-backup-plugin" before a backup run for the backup set.
# "pre-backup-plugin" parameter must be specified.
#pre-backup-plugin-options="option1 option2"

# POST-BACKUP plugin: Plugin that will be called after a backup run for
# the backup set.
#post-backup-plugin="/usr/share/mysql-zrm/plugins/post-backup.pl"

# Set of parameters passed to the post-backup-plugin. These parameters are
# passed to "post-backup-plugin" after a backup run for the backup set.
# "post-backup-plugin" parameter must be specified.
#post-backup-plugin-options="option1 option2"

# PRE-SCHEDULER plugin: Plugin that can be used to dynamically determine the
# start time for a backup run.
#pre-scheduler-plugin="/usr/share/mysql-zrm/plugins/pre-scheduler.pl"

# ZRM Plugin configuration parameters

# This parameter is used by the encrypt plugin and
# specifies the file containing the passphrase.
#passfile="/tmp/a.pass"

# This parameter is used by ssh-plugin.pl plugin to specify the user to be
# used to ssh to the remote host
#ssh-user="root"

# This parameter is used by the ssh-copy.pl and socket-copy.pl plugins
# to specify the location of mysql client binaries on the remote host.
#remote-mysql-binpath="/usr/bin"

# This parameter is used by the socket-copy.pl plugin to specify the port
# to be opened on the remote host.
#socket-remote-port="25300"


I have modified html-report-directory to point to a newly created directory, e.g. /var/lib/mysql-zrm/dailyrun/reports and tested the backup -- response is (two errors now):



[root@localhost /]# mysql-zrm-scheduler --now --backup-set dailyrun
Logging to /var/log/mysql-zrm/mysql-zrm-scheduler.log
INFO: ZRM for MySQL Community Edition - version 1.1.3
WARNING: Binary logging is off. Incremental backups cannot be done.
INFO: backup-set=dailyrun
INFO: backup-date=20070131095823
INFO: host=localhost
INFO: backup-date-epoch=1170237503
INFO: retention-policy=10D
INFO: mysql-zrm-version=ZRM for MySQL Community Edition - version 1.1.3
INFO: mysql-version=5.0.27
INFO: backup-directory=/var/lib/mysql-zrm/dailyrun/20070131095823
INFO: backup-level=0
INFO: logical-databases=database1 database2 database3 database4 database5 phpmyadmin
INFO: last-backup=/var/lib/mysql-zrm/dailyrun/20070131040002
INFO: /var/lib/mysql-zrm/dailyrun/20070131095823/backup.sql=53ddc86b2e187597caefb8b7fb00e080
INFO: backup-size=2.80 MB
INFO: read-locks-time=00:00:00
INFO: flush-logs-time=00:00:00
INFO: backup-time=00:00:00
INFO: backup-status=Backup succeeded
INFO: Backup succeeded
/usr/bin/mysql-zrm started successfully
ERROR : Missing file /var/lib/mysql-zrm/dailyrun/html/index, can not parse this index file

ERROR : Missing file /var/lib/mysql-zrm/dailyrun/reports/index, can not parse this index file

/usr/bin/mysql-zrm-reporter finished successfully
[root@localhost /]#


On checking the reports folder, a folder called "html" was automatically created so it can't be permissions thing? :confused:

Apart from the above issue, the scheduled back-up worked (4am this morning) and did backup all databases into one sql file. It seems to have worked!

ktill
January 31st, 2007, 12:55 PM
Hi,

/var/lib/mysql-zrm is the backup archiving directory, it
should not be used for anything other than backups by zrm.
Try to set html-report-directory to somewhere else.

sdillion
February 1st, 2007, 01:52 AM
Hi,

/var/lib/mysql-zrm is the backup archiving directory, it
should not be used for anything other than backups by zrm.
Try to set html-report-directory to somewhere else.

Hi Kevin

Thanks for your response. The html-report-directory value was untouched (e.g. left as default) as seen in the config file in my previous post.

However I did as you suggested by uncommenting out that line and pointed it to somewhere else (also upgraded version from 1.1.3 to 1.1.4) -- unfortunately, same error as before as shown below. :(


ERROR : Missing file /var/lib/mysql-zrm/dailyrun/html/index, can not parse this index file

ERROR : Missing file /var/lib/mysql-zrm/dailyrun/reports/index, can not parse this index file


Thanks

ktill
February 1st, 2007, 08:38 AM
Hi,

remove /var/lib/mysql-zrm/dailyrun/html/ and /var/lib/mysql-zrm/dailyrun/reports/ directories.
mysql-zrm-reporter will search for all directories under /var/lib/mysql-zrm/$config for index file.

Hope ths helps!

sdillion
February 2nd, 2007, 12:16 AM
Hi,

remove /var/lib/mysql-zrm/dailyrun/html/ and /var/lib/mysql-zrm/dailyrun/reports/ directories.
mysql-zrm-reporter will search for all directories under /var/lib/mysql-zrm/$config for index file.

Hope ths helps!


Hi Kevin

That "fix" worked like charm! One final question... if I set the backup-level to 1 (incremental), what actually happens with new data or databases? Are they backed up (new full backup) along with existing data (e.g. incrementing) at the same time?

Thanks again.