-
Notifications
You must be signed in to change notification settings - Fork 0
/
db_sync.sh
50 lines (40 loc) · 1.31 KB
/
db_sync.sh
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
#!/bin/bash
# ----------------------------------------------
#
# Sync Database Table
#
# Author :
# Teguh Prasetyo ([email protected])
# Chasmim R. Murzid ([email protected])
#
# Initiated in 2020
#
# ----------------------------------------------
# Remote Database Connection
REMOTE_USER=[remote_user]
REMOTE_PASS=[remote_pass]
REMOTE_HOST=[remote_host]
REMOTE_PORT=[remote_port]
REMOTE_DBNAME=[remote_dbname]
DBTABLE=["table1 table2 table3"]
# Local Database Connection
LOCAL_USER=[local_user]
LOCAL_PASS=[local_pass]
LOCAL_DBNAME=[local_dbname]
# Filename (directory with trailing slash)
SAVETO="/home/sync/"
FILENAME=`date +%Y%m%d%H%M%S`
# Create Directory
mkdir -p ${SAVETO}
# Check Connection
if mysql -u${REMOTE_USER} -p${REMOTE_PASS} -e "use "${REMOTE_DBNAME}; then
# Start Export from SIMPEG (SQL File Output)
mysqldump -u${REMOTE_USER} -p${REMOTE_PASS} -h${REMOTE_HOST} --port=${REMOTE_PORT} ${REMOTE_DBNAME} ${DBTABLE} > ${SAVETO}${FILENAME}.sql
# Import to Local Database
mysql -u${LOCAL_USER} -p${LOCAL_PASS} ${LOCAL_DBNAME} < ${SAVETO}${FILENAME}.sql
##mysql -u${LOCAL_USER} -p${LOCAL_PASS} ${LOCAL_DBMASTER} < ${SAVETO}${FILENAME}_MASTER.sql
# Remove Old SQL File (only keep for last 2 days)
find ${SAVETO} -type f -mtime +1 -name '*.sql' -execdir rm -- '{}' +
# Message
#echo "Sync table completed"
fi