首先在你的项目合适的地方建立一个执行备份数据库的脚本
下面我建立一个叫 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