SHELL 备份Mysql数据库

这个脚本虽然比较简单,但觉得会帮我们很大的忙!
简单说一下:
DB_USER=”user” 为用户名
DB_PASS=”password” 为密码

mkdir /home/mysqlbak/$DATE 指定并创建要备份到的目录
BIN_DIR=”/usr/local/mysql/bin” 指定你的MYSQL的位置
BCK_DIR=”/home/mysqlbak/$DATE” 将你的数据库备份到以日期为目录的文件夹下

$BIN_DIR/mysqldump –opt -u$DB_USER -p$DB_PASS discuz > $BCK_DIR/discuz.sql
这个就是将你要备份的数据库添加进来就可以备份了,一个库添加一条,”discuz ” 就是要备份的库名,”discuz.sql”是备份出来的数据文件名.
脚本如下:

 

 

 

 

 

 

linux 系统中 mysql 自动备份脚本

  mysql 数据库中存储着网站最核心最宝贵的数据,如果因为不可预测的原因导致数据损坏或丢失,对一个网站的打击是毁灭性的,一次又一次的教训提醒着我们一定要做好备份,但是手工备份确实比较麻烦,每天都要手工操作一次,如果站多的话简直是一种折磨,不过好在我们可以通过编写好的脚本让系统自动备份数据,省去体力劳动。下面收集了几种自动备份 mysql 数据库的脚本,一般的站够用了,但要注意:如果数据库过大,或者系统设置不当,都可能导致自动备份失败,因此即使采用了自动备份,也要记得经常查看是否备份成功,以及备份的数据是否完整、可用。

  只需要将下面的脚本内容保存为 mysqlbackup.sh ,并添加到 crontab 即可。如在 ssh 中输入:
crontab -e
输入:
00 00 * * * /home/website/mysqlbackup.sh
即为每天 00:00 自动运行备份脚本。

    1 、自动导出 mysql 备份,并上传到指定 ftp

#!/bin/bash

#ftp 设置

Host=FTP_IP

Username=FTP_user

Passwd=FTP_passwd

# 备份 mysql 并导出到文件

mysqldump -u 用户 -p 密码 数据库名 > $(date +%Y%m%d)- 数据库名 .sql

# 压缩备份文件

tar -zcvf $(date +%Y%m%d)mysql 数据库名 .tar.gz $(date +%Y%m%d)*

# 上传到 ftp

echo "open $Host

      user $Username $Passwd

      bin

      cd /hzg/

      prompt off

      mput $(date +%Y%m%d)mysql 数据库名 .tar.gz

      printf "/n"

      close

      bye"|ftp -i -n

# 删除旧的备份文件

rm -rf $(date +%Y%m%d)- 数据库名 .sql $(date +%Y%m%d)mysql 数据库名 .tar.gz

#rm -rf $(date +%Y%m%d)*

rm -rf $(date +%Y%m%d)*

 

2 、自动备份 mysql 数据库,并发送到指定 email

# 备份并导出 mysql 数据库到文件

mysqldump -uroot -ppassword --databases db1 db2 db3 > /home/website/backups/databackup.sql

# 压缩备份文件

tar zcf /home/website/backups/databackup.sql.tar.gz /home/website/backups/

# 发送到指定邮箱

echo " 主题 : 数据库备份 " | mutt -a /home/website/backups/mysqlbackup.sql.tar.gz -s " 内容 : 数据库备份 " www@gmail.com

# 删除旧的备份文件

rm -r /home/website/backups/*

 

-ppassword 中的 password 换为自己的 root 密码,将 db1 db2 db3 换为你需要备份的数据库名。路径和邮箱等自己替换即可。

也可以用下面的命令直接导出 mysql 备份为压缩文件:

mysqldump -u 用户 -p 密码 数据库名 | gzip -c > $(date +%Y%m%d)- 数据库名 .sql.

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值