Changes of Revision 8
[-] | Changed | automysqlbackup.spec |
x 1
2 Name: automysqlbackup 3 -Version: 2.6.9 4 +Version: 2.6.8 5 Release: 1 6 Group: System/Backup 7 Summary: MySQL backup script 8
9 Source1: multimysqlbackup.sh 10 Source2: multimysqlbackup.conf 11 Source3: automysqlbackup.8 12 -Requires: bzip2 mutt 13 -Requires: /usr/bin/mysqldump 14 +Requires: bzip2 mysql mutt 15 Provides: multimysqlbackup = %{version} 16 Provides: ix-automysqlbackup = %{version} 17 Provides: psa-automysqlbackup = %{version} 18 |
||
[+] | Deleted | automysqlbackup-2.6.9.sh ^ |
@@ -1,1099 +0,0 @@ -#!/bin/bash -# -# MySQL Backup Script -# VER. 2.6.8 - http://sourceforge.net/projects/automysqlbackup/ -# Copyright (c) 2002-2003 wipe_out@lycos.co.uk -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -#===================================================================== -#===================================================================== -# Set the following variables to your system needs -# (Detailed instructions below variables) -#===================================================================== -#set -x -CONFIGFILE="/etc/automysqlbackup/automysqlbackup.conf" - -if [ -r ${CONFIGFILE} ]; then - # Read the configfile if it's existing and readable - source ${CONFIGFILE} -else - # do inline-config otherwise - # To create a configfile just copy the code between "### START CFG ###" and "### END CFG ###" - # to /etc/automysqlbackup/automysqlbackup.conf. After that you're able to upgrade this script - # (copy a new version to its location) without the need for editing it. - ### START CFG ### - # Username to access the MySQL server e.g. dbuser - USERNAME=`echo ${USERNAME:=dbuser}` - - # Password to access the MySQL server e.g. password - PASSWORD=`echo ${PASSWORD:=password}` - - # Host name (or IP address) of MySQL server e.g localhost - DBHOST=`echo ${DBHOST:=localhost}` - - # Port where MYSQL Server is listening - DBPORT=`echo ${DBPORT:=3306}` - - # List of DBNAMES for Daily/Weekly Backup e.g. "DB1 DB2 DB3" - DBNAMES=`echo ${DBNAMES:="DB1 DB2 DB3"}` - - # Backup directory location e.g /backups - BACKUPDIR=`echo ${BACKUPDIR:="/backup/mysql/${DBHOST}"}` - - # Mail setup - # What would you like to be mailed to you? - # - log : send only log file - # - files : send log file and sql files as attachments (see docs) - # - stdout : will simply output the log to the screen if run manually. - # - quiet : Only send logs if an error occurs to the MAILADDR. - MAILCONTENT="quiet" - - # Set the maximum allowed email size in k. (4000 = approx 5MB email [see docs]) - MAXATTSIZE="4000" - - # Email Address to send mail to? (user@domain.com) - MAILADDR=`echo ${MAILADDR:="maintenance@example.com"}` - - # Email Address to send mail from? (root@host.tld) - FROMADDR="automysqlbackup@`hostname -f`" - - # ============================================================ - # === ADVANCED OPTIONS ( Read the doc's below for details )=== - #============================================================= - - # List of DBBNAMES for Monthly Backups. - MDBNAMES="${DBNAMES}" - - # List of DBNAMES to EXLUCDE if DBNAMES are set to all (must be in " quotes) - DBEXCLUDE=`echo ${DBEXCLUDE:=""}` - - # List of tables to exclude. Space-separated, with db name, e.g. "db1.table1 d2.table2" - TABLEEXCLUDE=`echo ${TABLEEXCLUDE:=""}` - - # Include CREATE DATABASE in backup? - CREATE_DATABASE=yes - - # Separate backup directory and file for each DB? (yes or no) - SEPDIR=yes - - # Which day do you want weekly backups? (1 to 7 where 1 is Monday) - DOWEEKLY=6 - - # Choose Compression type. (gzip or bzip2) - COMP=`echo ${COMP:="bzip2"}` - - # Use pipe compress - PIPECOMP=yes - - # Compress communications between backup server and MySQL server? - COMMCOMP=no - - # Additionally keep a copy of the most recent backup in a seperate directory. - LATEST=no - - # The maximum size of the buffer for client/server communication. e.g. 16MB (maximum is 1GB) - MAX_ALLOWED_PACKET= - - # For connections to localhost. Sometimes the Unix socket file must be specified. - SOCKET= - - # Backup databases per table work if SEPDIR set to `yes' - PERTABLE=yes - - # Command to run before backups (uncomment to use) - PREBACKUP="/etc/mysql-backup-pre" - - # Command run after backups (uncomment to use) - POSTBACKUP="/etc/mysql-backup-post" - - # doesn't show messages about rotating backups - QUIETROTA=`echo ${QUIETROTA:="no"}` - ### END CFG ### -fi - -#===================================================================== -# Options documantation -#===================================================================== -# Set USERNAME and PASSWORD of a user that has the appropriate permissions -# to backup ALL databases. (See mysql documentation for details) -# NEW in 2.5.1: -# - If USERNAME is set to "debian" and PASSWORD is unset or "" obtain -# them from the file /etc/mysql/debian.cnf -# - First command line option "-c" for configfile -# - Interpretable Exit-States: -# 1: given configfile is not readable or does not exist -# 2: unknown option -# -# Set the DBHOST option to the server you wish to backup, leave the -# default to backup "this server".(to backup multiple servers make -# copies of this file and set the options for that server) -# -# Put in the list of DBNAMES(Databases)to be backed up. If you would like -# to backup ALL DBs on the server set DBNAMES="all".(if set to "all" then -# any new DBs will automatically be backed up without needing to modify -# this backup script when a new DB is created). -# -# If the DB you want to backup has a space in the name replace the space -# with a % e.g. "data base" will become "data%base" -# NOTE: Spaces in DB names may not work correctly when SEPDIR=no. -# -# You can change the backup storage location from /backups to anything -# you like by using the BACKUPDIR setting.. -# -# The MAILCONTENT and MAILADDR options and pretty self explanitory, use -# these to have the backup log mailed to you at any email address or multiple -# email addresses in a space seperated list. -# (If you set mail content to "log" you will require access to the "mail" program -# on your server. If you set this to "files" you will have to have mutt installed -# on your server. If you set it to "stdout" it will log to the screen if run from -# the console or to the cron job owner if run through cron. If you set it to "quiet" -# logs will only be mailed if there are errors reported. ) -# -# MAXATTSIZE sets the largest allowed email attachments total (all backup files) you -# want the script to send. This is the size before it is encoded to be sent as an email -# so if your mail server will allow a maximum mail size of 5MB I would suggest setting -# MAXATTSIZE to be 25% smaller than that so a setting of 4000 would probably be fine. -# -# Finally copy automysqlbackup.sh to anywhere on your server and make sure -# to set executable permission. You can also copy the script to -# /etc/cron.daily to have it execute automatically every night or simply -# place a symlink in /etc/cron.daily to the file if you wish to keep it -# somwhere else. -# NOTE:On Debian copy the file with no extention for it to be run -# by cron e.g just name the file "automysqlbackup" -# -# Thats it.. -# -# -# === Advanced options doc's === -# -# The list of MDBNAMES is the DB's to be backed up only monthly. You should -# always include "mysql" in this list to backup your user/password -# information along with any other DBs that you only feel need to -# be backed up monthly. (if using a hosted server then you should -# probably remove "mysql" as your provider will be backing this up) -# NOTE: If DBNAMES="all" then MDBNAMES has no effect as all DBs will be backed -# up anyway. -# -# If you set DBNAMES="all" you can configure the option DBEXCLUDE. Other -# wise this option will not be used. -# This option can be used if you want to backup all dbs, but you want -# exclude some of them. (eg. a db is to big). -# -# Set CREATE_DATABASE to "yes" (the default) if you want your SQL-Dump to create -# a database with the same name as the original database when restoring. -# Saying "no" here will allow your to specify the database name you want to -# restore your dump into, making a copy of the database by using the dump | ||
[+] | Changed | multimysqlbackup.conf ^ |
@@ -5,5 +5,5 @@ # host;user;password;databases_separated_by_spaces;exclude_databases;exclude_tables # samples: # localhost;root;;all; -# localhost:port;root;password;mysql my_first_database my_second_database;exclude1_db exclude2_db;exclude3_db.exclude_table1 exclude4_db.exclude_table2;bzip2;no +# localhost:port;root;password;mysql my_first_database my_second_database;exclude1_db exclude2_db;exclude3_db.exclude_table1 exclude4_db.exclude_table2 | ||
[+] | Changed | multimysqlbackup.sh ^ |
@@ -2,24 +2,17 @@ # # Name: multimysqlbackup # Summary: wrapper for automysqlbackup to backup multiple hosts -# Version: 0.3 +# Version: 0.2 # Author: Carsten Schoene <cs@linux-administrator.com> -# Last change: 23-08-2021 +# Last change: 21-10-2011 # ############################################################################### # path to host,db definitions CONFPATH="/etc/multimysqlbackup.conf" -if [ $# -gt 0 ]; then - # include custom config - if [ -f "$1" ] ; then - CONFPATH="$1" - fi -fi - # path to mysql backup script -AUTOMYSQLBACKUP="$(which automysqlbackup 2>/dev/null)" +AUTOMYSQLBACKUP="/usr/sbin/automysqlbackup" # lock each job LOCKJOB=1 @@ -45,8 +38,6 @@ export DBNAMES=`echo ${LINE} | awk -F\; '{print $4}'|sed -e s@"%20%"@" "@g` export DBEXCLUDE=`echo ${LINE} | awk -F\; '{print $5}'|sed -e s@"%20%"@" "@g` export TABLEEXCLUDE=`echo ${LINE} | awk -F\; '{print $6}'|sed -e s@"%20%"@" "@g` - export COMP=`echo ${LINE} | awk -F\; '{print $7}'|sed -e s@"%20%"@" "@g` - export QUIETROTA=`echo ${LINE} | awk -F\; '{print $8}'|sed -e s@"%20%"@" "@g` if [ ! -f /var/lock/${DBHOST}.lock ] && [ "${LOCKJOB}" == "1" ] ; then @@ -78,8 +69,6 @@ export DBNAMES="all" export DBEXCLUDE="" export TABLEEXCLUDE="" - export COMP="bzip2" - export QUIETROTA="no" if [ ! -f /var/lock/${DBHOST}.lock ] && [ "${LOCKJOB}" == "1" ] ; then touch /var/lock/${DBHOST}.lock |