crontab+shell脚本实现定时备份mysql数据库

为了防止操作失误或者系统软件出现崩溃导致的mysql数据库数据的丢失,通过每天定时备份数据库的数据,当数据库出现问题的时候可以方便的恢复数据。
linux crontab + shell 定时备份数据库的实现:


1.创建shell脚本

 
 
bash
  1. cd /usr/local/

2.建立shell脚本目录

 
 
bash
  1. mkdir shell
  2. cd shell


3.建立shell脚本

        通过mysqldump命令备份数据库数据到指定的目录

 
 
bash
  1. vim mysqldump.sh
 
 
bash
  1. #! /bin/bash
  2. echo "mysqldump start ..."
  3. mysqldump -uroot test > /usr/local/nginx/html/mysqldump/DB_`date +%Y_%m_%d_%H_%M_%s`.sql
  4. echo "mysqldump success ok !"


  mysqldump(mysql备份命令) -uroot(指定用户名) -p123456(密码) test(指定数据库) > /usr/local/nginx/html/mysqldump/DB_`date +%Y_%m_%d_%H_%M_%s`.sql(指定数据库备份到的[网战目录]路径和带日期的文件名)    

4.保存文件退出,运行脚本
 
 
bash
  1. chmod +x mysqldump.sh #给脚本执行权限
 
 
bash
  1. ./mysqldump.sh

注:如果执行后报错 mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect   要配置my.cnf文件 my.cnf 里面加上[mysqldump]  quick    user=xxxx   password=xxxxxx
5.执行定时命令,运行脚本

 
 
bash
  1. crontab -e
 
 
bash
  1. 0 3 * * * /usr/local/shell/mysqldump.sh  #每天凌晨三点钟运行一次备份shell脚本文件一次

        保存脚本,查看定时命令的运行信息

 
 
bash
  1. crontab -l

        当数据库文件备份一段时,备份的文件越来越多,会占用一定的磁盘空间,这时可以清理一些几天前或一星期前的文件来节省空间,shell脚本批量删除几天前文

猜你喜欢

转载自blog.csdn.net/qq_35396905/article/details/80581199