-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdb-backup.sh
More file actions
executable file
·64 lines (44 loc) · 1.33 KB
/
db-backup.sh
File metadata and controls
executable file
·64 lines (44 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/bin/bash
# Full Backup of all mysql database and www files
# ---------------------------------------------------------------------
### System Setup ###
YEAR=$(date +"%Y")
NOW=$(date +"%Y-%m-%d-%H%M")
WEBDIR="/Users/kilianbohnenblust/Development/www/"
BACKUPDIR="/Users/kilianbohnenblust/Downloads/_backup/db/"
DAY=$(date +"%a")
FULLBACKUP="Sun"
### MySQL Setup ###
MUSER="root"
MPASS="root"
MHOST="localhost"
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
GZIP="$(which gzip)"
### Check if Backup Directory Exist ###
BACKUP=$BACKUPDIR$NOW-full
[ ! -d $BACKUP ] && mkdir -p $BACKUP || :
### Start MySQL Backup ###
echo "Start Backup:$BACKUP"
# Get all databases name
DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"
for db in $DBS
do
FILE=$BACKUP/mysql-$db.sql
$MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db -r $FILE
tar -jcvf $FILE.tar.bz2 $FILE
rm $FILE
done
### Start WWW Backup ###
### See if we want to make a full backup ###
#for FOLDER in $WEBDIR*;
#do
# PATHNAME=$(basename "$FOLDER")
# FILE="$BACKUP/www-$PATHNAME-full.tar.bz2"
# tar -jcf $FILE $FOLDER
# echo "Backup $FOLDER \t->\t $FILE"
#done
echo "Sync ToServer\n"
rsync -rva --progress "$BACKUPDIR" /Volumes/data/_transfer/kilian/_backup/db/
rsync -rva --progress "$WEBDIR" /Volumes/data/_transfer/kilian/_backup/www/
echo "Backup done\n"