当前位置: 代码迷 >> Linux/Unix >> linux上mysql自动备份数据脚本
  详细解决方案

linux上mysql自动备份数据脚本

热度:4208   发布时间:2013-02-26 00:00:00.0
linux下mysql自动备份数据脚本

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

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

#!/bin/bash#ftp设置Host=FTP_IPUsername=FTP_userPasswd=FTP_passwd#备份mysql并导出到文件mysqldump -u用户 -p密码 数据库名 > $(date +%Y%m%d)-数据库名.sql#压缩备份文件tar -zcvf $(date +%Y%m%d)mysql数据库名.tar.gz $(date +%Y%m%d)*#上传到ftpecho "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.gz
  相关解决方案