complete /mnt-mountpoint backup.
This commit is contained in:
56
damia/root/data/config-mountpoint.data
Normal file
56
damia/root/data/config-mountpoint.data
Normal file
@@ -0,0 +1,56 @@
|
||||
#!/bin/bash
|
||||
# br, sept 2007 - Dec 2010
|
||||
|
||||
SOURCEDIR=/mnt/my-mountpoint # full path
|
||||
SERVER=local # could also be user@hostname, or "local" if local ma$
|
||||
DESTDIR=/mnt/backup1/damia-mountpoint # full path, or relative to home dir$
|
||||
|
||||
NYEARS=3
|
||||
NMONTHS=12
|
||||
NWEEKS=4
|
||||
NDAYS=7
|
||||
|
||||
# filter: can be used in every directory within the "source" dir.
|
||||
FILTER=--filter='dir-merge .filter-rule'
|
||||
|
||||
# other rsync options
|
||||
RSYNCOPTS=""
|
||||
|
||||
# functions run just before and after the rsync. Could be useful to create
|
||||
# database dumps, etc...
|
||||
function beforesync() {
|
||||
# next line may be removed if you do something. bash does not like empty
|
||||
# functions
|
||||
log -s -t "calling user beforesync: mysql databases dumps..."
|
||||
|
||||
datadir=$(mysql -sN -u root -p'@Fa1952%' -e 'select @@datadir')
|
||||
# log "mysql datadir=${datadir}"
|
||||
rm -f "{datadir}/${FILTERNAME}"
|
||||
|
||||
databases=($(mysql -sN -u root -p'@Fa1952%' -e "SHOW DATABASES;"))
|
||||
|
||||
for db in "${databases[@]}"
|
||||
do
|
||||
# do not backup database contents itself
|
||||
echo "- /${db}/*" >> "${datadir}/${FILTERNAME}"
|
||||
log -n "${db}... "
|
||||
case "$db" in
|
||||
information_schema|performance_schema)
|
||||
log "skipped."
|
||||
;;
|
||||
*)
|
||||
log -n "dumping to ${datadir}${db}.sql... "
|
||||
mysqldump --user=root --routines "$db" > "$datadir/$db.sql"
|
||||
log -n "compressing... "
|
||||
gzip -f "${datadir}/${db}.sql"
|
||||
log "done."
|
||||
esac
|
||||
done
|
||||
# log "filtername contains:"
|
||||
# cat ${datadir}/${FILTERNAME}
|
||||
}
|
||||
|
||||
function aftersync() {
|
||||
# we may remove the dump here...
|
||||
log -s -t "calling user aftersync"
|
||||
}
|
@@ -23,37 +23,10 @@ RSYNCOPTS=""
|
||||
function beforesync() {
|
||||
# next line may be removed if you do something. bash does not like empty
|
||||
# functions
|
||||
log -s -t "calling user beforesync: mysql databases dumps..."
|
||||
|
||||
datadir=$(mysql -sN -u root -p'@Fa1952%' -e 'select @@datadir')
|
||||
# log "mysql datadir=${datadir}"
|
||||
rm -f ${datadir}/${FILTERNAME}
|
||||
|
||||
databases=($(mysql -sN -u root -p'@Fa1952%' -e "SHOW DATABASES;"))
|
||||
|
||||
for db in "${databases[@]}"
|
||||
do
|
||||
# do not backup database contents itself
|
||||
echo "- /${db}/*" >> ${datadir}/${FILTERNAME}
|
||||
log -n "${db}... "
|
||||
case "$db" in
|
||||
information_schema|performance_schema)
|
||||
log "skipped."
|
||||
;;
|
||||
*)
|
||||
log -n "dumping to ${datadir}${db}.sql... "
|
||||
mysqldump --user=root --routines ${db} > ${datadir}/${db}.sql
|
||||
log -n "compressing... "
|
||||
gzip -f ${datadir}/${db}.sql
|
||||
log "done."
|
||||
esac
|
||||
done
|
||||
# log "filtername contains:"
|
||||
# cat ${datadir}/${FILTERNAME}
|
||||
:
|
||||
}
|
||||
|
||||
function aftersync() {
|
||||
# we may remove the dump here...
|
||||
log -s -t "calling user aftersync"
|
||||
:
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user