[-]
[+]
|
Changed |
automysqlbackup.spec
|
|
[-]
[+]
|
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
|