可以将这个脚本放进crontab,每天凌晨执行一次,自动备份 这个脚本每天最多只执行一次,而且只保留最近五天的备份在服务器上。
#!/bin/bash
#This is a ShellScript For Auto DB Backup
#Powered by aspbiz
#2004-09
#Setting
#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,
#以及备份方式
#默认情况下备份方式是tar,还可以是mysqldump,mysqldotcopy
#默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz
DBName=mysql
DBUser=root
DBPasswd=
BackupPath=/root/
LogFile=/root/db.log
DBPath=/var/lib/mysql/
#BackupMethod=mysqldump
#BackupMethod=mysqlhotcopy
#BackupMethod=tar
#Setting End
NewFile="$BackupPath"db$(date +%y%m%d).tgz
DumpFile="$BackupPath"db$(date +%y%m%d)
OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago').tgz
echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "--------------------------" >> $LogFile
#Delete Old File
if [ -f $OldFile ]
then
rm -f $OldFile >> $LogFile 2>&1
echo "[$OldFile]Delete Old File Success!" >> $LogFile
else
echo "[$OldFile]No Old Backup File!" >> $LogFile
fi
if [ -f $NewFile ]
then
echo "[$NewFile]The Backup File is exists,Can't Backup!" >> $LogFile
else
case $BackupMethod in
mysqldump)
if [ -z $DBPasswd ]
then
mysqldump -u $DBUser --opt $DBName > $DumpFile
else
mysqldump -u $DBUser -p$DBPasswd --opt $DBName > $DumpFile
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
mysqlhotcopy)
rm -rf $DumpFile
mkdir $DumpFile
if [ -z $DBPasswd ]
then
mysqlhotcopy -u $DBUser $DBName $DumpFile >> $LogFile 2>&1
else
mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
*)
/etc/init.d/mysqld stop >/dev/null 2>&1
tar czvf $NewFile $DBPath$DBName >> $LogFile 2>&1
/etc/init.d/mysqld start >/dev/null 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
;;
esac
fi
echo "-------------------------------------------" >> $LogFile
分享到:
相关推荐
Linux下自动备份Mysql文件shell脚本。
"Windows下MySql自动备份脚本(有备份日志,且可以删除历史备份)"的资源提供了一个解决方案,它是一个批处理脚本(MysqlAutoBackup.bat),能够自动化执行MySQL的备份过程,同时生成备份日志并清理历史备份。...
- 脚本需赋予执行权限:使用`chmod +x mysql自动备份脚本.txt`命令赋予脚本执行权限。 - 设置定时任务:可以使用`crontab`命令来安排脚本的执行时间,例如每天凌晨1点运行一次备份。 5. **配置脚本** - 用户和...
本文将详细介绍如何创建一个MySQL自动备份脚本,适用于Windows 2003和XP操作系统。我们将讨论以下几个核心知识点: 1. **MySQL备份的重要性**: 数据库中的信息是业务的核心,任何意外的数据丢失都可能导致严重...
docker环境下的mysql数据库自动备份脚本,配置到系统定时任务中,能够每天自动全库或者指定实例备份数据库,删除七天前的旧备份。
windows下mysql的自动备份脚本windows下mysql的自动备份脚本windows下mysql的自动备份脚本
linux下定时自动备份mysql数据库,并保存备份文件与备份日志到指定路径下。
mysql
1.备份MySQL到指定的目录。 2.支持压缩备份。无需安装压缩软件支持CAB压缩备份。或者安装RAR软件,支持RAR压缩备份。 3.支持备份日志。可以了解哪些数据库没有备份成功。 4.支持保留多少次备份。也就是删除多少次...
本文将详细介绍一个适用于Linux平台下的MySQL自动备份脚本。通过该脚本,可以实现MySQL数据库的定时备份,并按照一定规则管理备份文件,确保数据安全的同时减少磁盘空间占用。 #### 二、备份脚本结构分析 ##### ...
此批处理,是为一位朋友写的在Windows下自动备份Mysql数据库,今天共享出来,加强了一些功能。和改进了获取数据库列表的方式。 此批处理脚本的功能: 在配置正确的情况下,如果直接运行脚本,将备份指定MySQL数据库...
在Windows下自动备份MySQL数据库的批处理脚本。 主要功能: 1.备份MySQL到指定的目录。 2.支持压缩备份。无需安装压缩软件支持CAB压缩备份。或者安装RAR软件,支持RAR压缩备份。 3.支持备份日志。可以了解哪些数据库...
今天这个备份分二个版本一个是linux上直接安装的mysql,另一种是docker上安装的mysql。基本操作都一样只是备份sql语句不同而已。可以选择设置需要备份的库,自动备份压缩,自动删除 7 天前的备份,需要使用 crontab ...
MySQL数据库在日常运营中起着至关重要的作用,因此定期备份是...以上就是关于"mysql 自动备份数据库脚本"的相关知识点,通过理解并正确运用这些概念,可以构建一个稳定、高效的数据库自动备份系统,确保数据的安全。
MySQL自动备份是保护网站数据安全的关键措施,尤其是在服务器上运行着关键业务的环境中。手动备份虽然可靠,但耗时且容易遗漏,而通过编写shell脚本实现自动化备份则能极大地提高效率,确保数据的安全性。以下是一些...
"Windows下MySql自动备份脚本>单数据库版本"是一个专门为MySQL设计的批处理脚本,用于实现定期自动备份单个数据库。下面我们将深入探讨这个脚本的工作原理、配置方法以及如何利用它来构建一个有效的数据库备份策略。...
创建 MySQL 自动备份脚本的基本步骤如下: 1. **安装 MySQL 客户端工具**:为了在命令行中执行备份,你需要 MySQL 的命令行客户端(如 `mysql.exe` 和 `mysqldump.exe`)。通常,这些工具会随 MySQL Server 一起...
MySQL自动备份脚本是数据库管理中的一个重要环节,它确保了数据的安全性和可恢复性。在IT行业中,数据丢失可能会导致重大损失,因此定期备份是非常必要的。以下是对标题和描述中涉及的知识点的详细说明: 1. **...