linux 自动备份数据库

首先在你的项目合适的地方建立一个执行备份数据库的脚本

下面我建立一个叫 mysqlBackups.sh 的脚本内人如下:

#!/bin/sh

# Database info
DB_NAME="jiayugame" #数据库名称
TABLE_NAME="login_datas" #表名
# Others vars
BCK_DIR="/data/cardhouse/storage/backups"    #mysql存储的位置
DATE=`date +%F` #时间

# TODO
# /usr/bin/mysqldump --opt -ubatsing -pbatsingpw -hlocalhost timepusher > /mnt/mysqlBackup/db_`date +%F`.sql
#$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_NAME | gzip > $BCK_DIR/db_$DATE.sql.gz   #备份为压缩格式

#在mysql配置文件my.cnf里

在[ client ] 下面添加

host=localhost
user=用户
password=密码


#用户和密码最好引用配置文件里不然会报错:
#Warning: Using a password on the command line interface can be insecure.
mysqldump --defaults-extra-file=/opt/lampp/etc/my.cnf $DB_NAME $TABLE_NAME --skip-lock-tables > $BCK_DIR/db_$DATE.sql
#--skip-lock-tables 这个是导出时不锁表

 

脚本完成了下就只要加入定时任务就ok了

每月1日早上4点 执行脚本
0 4 1 * * /data/cardhouse/database/SQLBackups.sh

 

posted @ 2017-08-11 15:33  花儿为何那样红  阅读(241)  评论(0编辑  收藏  举报