mysqldump 脚本备份数据库

阅读 (274)
备份简单可用管道压缩备份后的文件,恢复简单,可以使用管道将他们输入到mysql

自已找个目录创建脚本:

cd /
vi db_backup.sh

 填入以下内容

OUT_DIR=/home/wwwroot/project/storage/backup #备份文件存放路径
DAYS=7 #DAYS=7代表删除7天前的备份,即只保留最近7天的备份
cd $OUT_DIR #进入备份存放目录
mysqldump dbname | gzip > /home/wwwroot/project/backup/mysqldata_bak`date +%Y-%m-%d`.sql.gz #备份
find $OUT_DIR -name "mysqldata_bak*" -type f -mtime +$DAYS -exec rm {} \; #删除7天前的备份文件

这里mysqldump没有用 -u -p,因为用了也会提示在命令中使用-p不安全之类的

在 /etc/my.cnf 的 [mysqldump] 下面添加上自己的数据库连接信息

[mysqldump]
host=127.0.0.1
user=root
password=xxxxxxxx

重启数据库服务后,脚本中的mysqldump就可以不加-u -p了

可以单独执行命令,再到目录中查看是否备份成功了:

mysqldump dbname | gzip > /home/wwwroot/project/backup/mysqldata_bak`date +%Y-%m-%d`.sql.gz

再到crontab中加入定时任务:

crontab -e

 每天0点执行一次

0 0 * * * root /backup_database.sh

在导入时需到一些其它问题就另行百度,一般文件太大等问题,需要修改一些配置就行了

更新于:2020-08-14 13:00:00
返回顶部