File tree 1 file changed +56
-0
lines changed
1 file changed +56
-0
lines changed Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ # ###############################################################
4
+ # #
5
+ # # MySQL Database Backup Script
6
+ # # Written By: Rahul Kumar
7
+ # # URL: https://tecadmin.net/bash-script-mysql-database-backup/
8
+ # # Last Update: Jan 05, 2019
9
+ # #
10
+ # ###############################################################
11
+
12
+ export PATH=/bin:/usr/bin:/usr/local/bin
13
+ TODAY=` date +" %d%b%Y" `
14
+
15
+ # ###############################################################
16
+ # ################# Update below values ########################
17
+
18
+ DB_BACKUP_PATH=' /backup/dbbackup'
19
+ MYSQL_HOST=' localhost'
20
+ MYSQL_PORT=' 3306'
21
+ MYSQL_USER=' root'
22
+ MYSQL_PASSWORD=' mysecret'
23
+ DATABASE_NAME=' mydb'
24
+ BACKUP_RETAIN_DAYS=30 # # Number of days to keep local backup copy
25
+
26
+ # ################################################################
27
+
28
+ mkdir -p ${DB_BACKUP_PATH} /${TODAY}
29
+ echo " Backup started for database - ${DATABASE_NAME} "
30
+
31
+
32
+ mysqldump -h ${MYSQL_HOST} \
33
+ -P ${MYSQL_PORT} \
34
+ -u ${MYSQL_USER} \
35
+ -p${MYSQL_PASSWORD} \
36
+ ${DATABASE_NAME} | gzip > ${DB_BACKUP_PATH} /${TODAY} /${DATABASE_NAME} -${TODAY} .sql.gz
37
+
38
+ if [ $? -eq 0 ]; then
39
+ echo " Database backup successfully completed"
40
+ else
41
+ echo " Error found during backup"
42
+ fi
43
+
44
+
45
+ # #### Remove backups older than {BACKUP_RETAIN_DAYS} days #####
46
+
47
+ DBDELDATE=` date +" %d%b%Y" --date=" ${BACKUP_RETAIN_DAYS} days ago" `
48
+
49
+ if [ ! -z ${DB_BACKUP_PATH} ]; then
50
+ cd ${DB_BACKUP_PATH}
51
+ if [ ! -z ${DBDELDATE} ] && [ -d ${DBDELDATE} ]; then
52
+ rm -rf ${DBDELDATE}
53
+ fi
54
+ fi
55
+
56
+ # ## End of script ####
You can’t perform that action at this time.
0 commit comments