MySQL数据库的shell脚本自动备份

经常备份数据库是一个好习惯,虽然数据库损坏或数据丢失的概率很低,但一旦发生这种事情,后悔是没用的。一般网站或应用的后台都有备份数据库的功能按钮,但需要去手工执行。我们需要一种安全的,每天自动备份的方法。下面的这个shell脚本就是能让你通过过设定Crontab来每天备份MySQL数据库的方法。

#!/bin/bash

# 数据库认证

user=""

password=""

host=""

db_name=""

# 其它

backup_path="/path/to/your/home/_backup/mysql"

date=$(date +"%d-%b-%Y")

# 设置导出文件的缺省权限

umask 177

# Dump数据库到SQL文件

mysqldump --user=$user --password=$password --host=$host $db_name > $backup_path/$db_name-$date.sql

通过上面的脚本,我们可以每天导出一份sql备份文件,文件的名称按当日日期生成。日积月累,这样的文件会生成很多,有必要定时删除一些老旧的备份的文件,下面的这行命令就是做这个任务的,你可以把它加在上面的脚本后面。

# 删除30天之前的就备份文件

find $backup_path/* -mtime +30 -exec rm {} \;

我在使用上面的脚本时曾经遇到过一个问题,Crontab定时执行脚本导出没有报错,但导出的是空的SQL文件,但登录到控制台手工执行这个脚本是备份成功的。后来发现是Crontab执行脚本是缺少系统环境信息,找不到 mysqldump ,改正的方法是使用 mysqldump 全路径就行了。而之所以没有报错信息,是因为 mysqldump 把错误信息输出到了 stderr。在命令的后面末尾接 “2>&1” 这样一个信息重定向命令就可以看到错误信息了:

mysqldump -ujoe -ppassword > /tmp/somefile 2>&1

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

mysql 备份库的shell_MySQL数据库的shell脚本自动备份相关推荐

  1. MySQL 冷备份操作 + shell 脚本自动备份

    背景 对于概念的说明不做赘述 个人觉得冷备份数据除了操作方法简单,最大的优点便是安全 为了对比,可参考前面整理的 -- [MySQL 使用 XtraBackup 进行数据热备份指导 [全量+增量]] ...

  2. shell脚本自动备份MySQL数据库

    脚本如下: #!/bin/bash #数据库IP dbserver='127.0.0.1' #数据库用户名 dbuser='root' #数据密码 dbpasswd='123456' #数据库,如有多 ...

  3. Shell脚本自动备份数据库

    需求:自动备份数据库 1.编写脚本 # mkdir -p /data/scripts # vim /data/scripts/auto_backup_mysql.sh #!/bin/bash # Th ...

  4. mysql rds 定时执行_如何使用脚本自动备份阿里云rds数据库

    vim .mysqldump.sh #脚本都放置到/d20141212/scripts下,创建.mysqldump.sh的文件目的是,这个文件里有数据库的连接信息,要隐藏掉.所以加了.. #!/bin ...

  5. linux+mysql高并发测试_MySQL压力测试shell脚本

    MySQL自带了压力测试工具mysqlslap,所以我们可以不用自己编写程序来测试Mysql读取的压力.压力测试shell脚本如下: #!/bin/sh while true do mysqlslap ...

  6. linux下执行shell脚本文件,Linux下使用shell脚本自动执行脚本文件

    搜索热词 以下实例本人在Centos6.5 64位操作系统中使用 一.定时复制文件 a.在/usr/local/wfjb_web_back目录下创建 tomcatBack.sh文件 #将tomcat中 ...

  7. 【Shell】Shell 脚本自动输入密码的三种方式

    Shell 脚本自动输入密码的三种方式 注意,如果创建.sh文件后不可以执行,请执行sudo chmod 755 文件名.sh来修改权限. 方式一 使用 echo "密码" | ( ...

  8. 宝塔如何备份网站_宝塔面板如何设置网站自动备份?

    为了让网站持续稳定的运行,定期对网站进行备份是必不可少的工作之一.可以规避由于服务器故障.数据迁移.网站调试.网络攻击等方面带来的风险. 备份的方法很多,不怕麻烦的话可以定期手动备份到本地,便捷的方法 ...

  9. php调用shell执行scp,使用shell脚本自动执行scp文件传输

    使用shell脚本自动执行scp文件传输 我的unix系统上的目录中有n个文件. 有没有办法编写一个shellcript,将所有这些文件通过scp传输到指定的远程系统. 我将在脚本中指定密码,这样我就 ...

最新文章

  1. Ubuntu安装FTP 服务, 实现和Windows的文件互传
  2. 从入门到精通系列Java高级工程师路线介绍,附答案
  3. Eclipse配置详解(包括智能提示设置、智能提示插件修改,修改空格自动上屏、JDK配置、各种快捷键列表……)...
  4. 关于Aspose对于Word操作的一些扩展及思考
  5. android 微信支付测试,求大神指导一下!!!android开发,测试demo按步骤配置,无法调用到微信支付...
  6. POJ NOI MATH-7832 最接近的分数
  7. 【离散期末复习】:集合论
  8. C#基础笔记(第十天)
  9. Apple 官方文档翻译:NSURLSession
  10. 【仿真】Proteus8.9 下载与安装教程(超详细)
  11. 有DMX512协议控制的整套硬件解决方案吗?来看一下,舞台灯光同步视频播放DMX控制台
  12. ios软件商店上架老被打回_iOS APP上架App Store常见被拒原因及解决方案
  13. AD PCB布板提示The following exception occurred whilst loading section primitive paramenters...解决方法
  14. 咸鱼ESP32实例—MQTT
  15. MySQL环境变量的配置(三)(Windows 11)
  16. docker基础——Docker是什么
  17. 大淘营淘宝店铺宝贝复制专家3.56 破解记录 不怕升级
  18. 美视频网站引进直播频道 加快淘汰有线电视
  19. Python unittest第二篇:测试夹具
  20. app架构图,330页PDF,10万字的知识点总结,全网独家首发!

热门文章

  1. php获取表单信息的代码_php 表单数据的获取代码
  2. 计算机基础ABCDEF,计算机应用基础-在线作业abcdef(76页)-原创力文档
  3. 计算机C语言1000-1099,歷届重庆市计算机二级C语言考试试题及答案.doc
  4. assume用法及意思_分享assume 的几种用法~
  5. nacos 公共_Springboot,Nacos并向使用研究
  6. Python中enumerate用法详解
  7. Python的collections之namedtuple的使用及其优势
  8. 直接插入排序比较次数_插入排序(C++)
  9. android 类似按键精灵脚本_按键精灵【第一期】教你 0 基础学写脚本 ———— 【金猪教程】...
  10. linux ubuntu文件浏览器如何显示隐藏文件?(快捷键ctrl+h)