vim /opt/bakmysql.sh
1 #!/bin/bash
2 #mysql数据库备份脚本
3 #设置变量
4 MY_USER="admin"
5 MY_PASS="123456"
6 MY_HOST="192.168.137.21"
7 MY_CONN="-u$MY_USER -p$MY_PASS -h$MY_HOST"
8 #设置备份的数据库
9 MY_DB1="auth"
10 MY_DB2="sunpeng"
11 #定义备份路径、工具、时间、文件名
12 BF_DIR="/backup"
13 BF_CMD="/usr/bin/mysqldump"
14 BF_TIME=$(date +%Y%m%d-%H%M)
15 NAME_1="$MY_DB1-$BF_TIME"
16 NAME_2="$MY_DB2-$BF_TIME"
17 #备份为.sql脚本,然后打包压缩(打开后删除源文件)
18 [ -d $BF_DIR ] || mkdir -p $BF_DIR
19 cd $BF_DIR
20 $BF_CMD $MY_CONN --databases $MY_DB1 > $NAME_1.sql
21 $BF_CMD $MY_CONN --databases $MY_DB2 > $NAME_2.sql
22 /bin/tar zcf $NAME_1.tar.gz $NAME_1.sql --remove & > /dev/null
23 /bin/tar zcf $NAME_2.tar.gz $NAME_2.sql --remove & > /dev/null
保存推出后,修改权限 chmod +x /opt/bakmysql.sh
执行 : sh /opt/bakmysql.sh
数据库自动备份到 /backup中。
也可以设置定期的自动备份。