1 |
#! /bin/sh |
2 |
# |
3 |
DIR="${DIR:-/var/preserve/dbbackup/MySQL}" |
4 |
DATEMARK=`date '+%Y-%V-%A-%H%M'|tr A-Z a-z` |
5 |
UTCTIME=`date -u '+%Y%m%d%H%M%SZ'` |
6 |
DATEINFO=`date '+%Y-%m-%d %H:%M:%S %Z %z (%A, week %V)'` |
7 |
|
8 |
. /etc/mysql |
9 |
|
10 |
mkdir -p "$DIR" |
11 |
|
12 |
MYSQL="mysql -u root --password="$PW"" |
13 |
MYSQLDUMP="mysqldump -u root --password="$PW" --single-transaction -q" |
14 |
|
15 |
databases=`echo "show databases" | $MYSQL | egrep -v '^(Database|test)'` |
16 |
|
17 |
for db in $databases |
18 |
do |
19 |
ARCH="$DIR/db.$db.$DATEMARK.sql" |
20 |
( |
21 |
echo "-- Backup of database $db" ; |
22 |
echo "-- Dumped on $UTCTIME" ; |
23 |
echo "-- Compression: directly-compressed" ; |
24 |
echo "-- Dateinfo: $DATEINFO" ; |
25 |
$MYSQLDUMP --databases $db ) | gzip -c > ${ARCH}.gz |
26 |
done |
27 |
|
28 |
# verwijder dumpfiles ouder dan 10 dagen |
29 |
find "$DIR" -mtime +10 -type f -name \*.sql.gz -exec rm {} \; |
30 |
|
31 |
|