Ubuntu Server下MySql数据库备份脚本代码
“MIA”通过精心收集,向本站投稿了8篇Ubuntu Server下MySql数据库备份脚本代码,以下是小编整理后的Ubuntu Server下MySql数据库备份脚本代码,欢迎阅读分享,希望对您有所帮助。
篇1:Ubuntu Server下MySql数据库备份脚本代码
最近更 新
MySQL笔记之子查询使用介绍
JDBC数据库的使用操作总结
mysql中event的用法详解
MySQL存储毫秒数据的方法
解析MySQL创建外键关联错误 - errno:150
MySQL 常用命令
MySQL数据库备份方法说明
Ubuntu10下如何搭建MySQL Proxy读写分离探
MySQL 性能优化的最佳20多条经验分享
EXCEL数据上传到SQL SERVER中的简单实现方
热 点 排 行
mysql安装图解 mysql图文安装教程
超详细mysql left join,right jo
Can''t connect to MySQL server
Mysql命令行导入sql数据
MYSQL 数据库导入导出命令
Mysql字符串截取函数SUBSTRING的
MySQL数据库备份与恢复方法
MySQL server has gone away 问题
windows下mysql忘记root密码的解
MySQL日期数据类型、时间类型使用
篇2:Linux自动备份MySQL数据库脚本代码
最近更 新
MySQL中的LOCATE和POSITION函数使用方法
mysql 超大数据/表管理技巧
MySQL中Stmt 预处理提高效率问题的小研究
MySQL Order by 语句用法与优化详解
深入MySQL存储引擎比较的详解
怎么重置mysql的自增列AUTO_INCREMENT初时
一句命令完成MySQL的数据迁移(轻量级数据
解析MYSQL 数据库导入SQL 文件出现乱码的
Xtrabackup使用指南 InnoDB数据备份工具
MySQL Memory 存储引擎浅析
热 点 排 行
mysql安装图解 mysql图文安装教程
超详细mysql left join,right jo
Can''t connect to MySQL server
Mysql命令行导入sql数据
MYSQL 数据库导入导出命令
Mysql字符串截取函数SUBSTRING的
MySQL数据库备份与恢复方法
MySQL server has gone away 问题
windows下mysql忘记root密码的解
MySQL日期数据类型、时间类型使用
篇3:linux mysql数据库备份脚本代码linux操作系统
可以将这个脚本放进crontab,他的配制文件在 /etc/crontab中每天凌晨执行一次,自动备份 这个脚本每天最多只执行一次,而且只保留最近五天的备份在服务器上。
代码如下复制代码#!/bin/bash
#This is a ShellScript. For Auto DB Backup
#Powered by aspbiz
#-09
#Setting
#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,
#以及备份方式
#默认情况下备份方式是tar,还可以是mysqldump,mysqldotcopy
#默认情况下,用root(空)登录mysql数据库,备份至/root/namexxxxx.tgz
DBName=mysql
DBUser=root
DBPasswd=password
BackupPath=/root/
LogFile=/root/db.log
DBPath=/var/local/mysql5/var/
#BackupMethod=mysqldump
#BackupMethod=mysqlhotcopy
#BackupMethod=tar
#Setting End
NewFile=“$BackupPath”“$DBName”$(date +%y%m%d).tgz
DumpFile=“$BackupPath”“$DBName”$(date +%y%m%d)
ldFile=“$BackupPath”“$DBName”$(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
例2.如果对上面脚本不满意可参考下面mysql数据库备份脚本哦
代码如下复制代码#!/bin/bash
#Mysql autobackup shell#write by tuspark.cn
#-------------------数据库相关的用户名、密码、需要备份的数据库名、备份目录等
dbuser=root
dbpasswd=XXXXX
dbserver=localhost
dbname=XXXXX
dbopt=--opt
backupdir=/dcbackup/
#-------------------是否开启FTP远程备份,0为否,1为是。
copytoftp=1
ftpserver=XXXXX
ftpuser=XXXXX
ftppasswd=XXXXX
#-------------------以下参数
fileprefix=dcradiusdump
filename=$backupdir`date +%F`.sql
newfile=$fileprefix-`date +%F`.tar.gz
keepdays=10
#-------------------以下为备份时的日志
logfile=/var/log/mysqlbackup.log
logtmp=/var/log/mybackup.tmp
#===============================================
if [ ! -d $backupdir ]
then
echo “$backupdir is not exist, then make ...” >>$logfile
mkdir -p $backupdir
fi
echo “start====================================>”>>$logfile
echo “Beginning backup `date '+%F %T'`” >>$logfile
echo “Delete $keepdays days ago files ...” >>$logfile
find $backupdir -name $fileprefix* -mtime +$keepdays -fls $logtmp -exec rm {} ;
echo “Deleted Backup file is :”>>$logfile
cat $logtmp >>$logfile
echo “Delete old file Success!” >>$logfile
if [ -f $backupdir$newfile ]
then
echo “$newfile backup exist, backup stop ...” >>$logfile
else
if [ -z $dbpasswd ]
then
mysqldump -u$dbuser -h$dbserver $dbopt $dbname >$dumpfilename
else
mysqldump -u$dbuser -p$dbpasswd -h$dbserver $dbopt $dbname >$dumpfilename
fi
tar czvf $backupdir$newfile $dumpfilename >>$logfile 2>&1
echo “$backupdir$newfile Backup Success!” >>$logfile
rm -fr $dumpfilename
if [ $copytoftp = 1 ]; then
if [ -z $ftpserver ];then
echo “Ftp Server not set,Copy to Ftp Failed ...” >>$logfile
exit 1
elif [ -z $ftpuser ];then
echo “Ftp user not set, Copy to Ftp Failed ...” >>$logfile
exit 2
elif [ -z $ftppasswd ]; then
echo “Ftp password not set, Copy to Ftp Failed ...” >>$logfile
exit 3
else
echo “Start copy to Ftp server ....” >>$logfile
ftp -n>$logfile
fi
实例三
代码如下复制代码第一步:在服务器上配置备份目录代码:
--------------------------------------------------------------------------------
mkdir /var/lib/mysqlbackup
cd /var/lib/mysqlbackup
--------------------------------------------------------------------------------
第二步:编写备份脚本代码:
--------------------------------------------------------------------------------
vi dbbackup.sh
--------------------------------------------------------------------------------
粘帖以下代码,务必更改其中的username,password和dbname,
代码:
--------------------------------------------------------------------------------
#!/bin/sh #Username to access the MySQL server USERNAME=“username” # Username to access the MySQL server PASSWORD=“password” # List of DBNAMES for Backup DBNAME=“dbname” #date timestamp for log message DATE=`/bin/date +%Y-%m-%d_%Hh%Mm` #output file UTDIR=“/var/lib/mysqlbackup/” UTFILE=“ip_bindass”.$DATE.“sql.gz” #working directory DIR=“/var/lib/mysqlbackup/”#cd $DIR # MySQL Backup /usr/bin/mysqldump --database $DBNAME --opt --single-transaction -u$USERNAME -p$PASSWORD | /usr/bin/gzip -9 >$OUTDIR$OUTFILE
--------------------------------------------------------------------------------
更改备份脚本权限
代码:
--------------------------------------------------------------------------------
chmod +x dbbackup.sh
--------------------------------------------------------------------------------
第三步:用crontab定时执行备份脚本代码:
--------------------------------------------------------------------------------
crontab -e
--------------------------------------------------------------------------------
若每天下午3点20备份,添加如下代码,
代码:
--------------------------------------------------------------------------------
20 15 * * * /var/lib/mysqlbackup/dbbackup.sh
--------------------------------------------------------------------------------
搞定!
篇4:自动备份mysql数据库 shell脚本
最近使用了testlink和mantis这2个测试相关的系统,而他们又全部是基于mysql+php开发的,因此定期备份数据库也是很有必要的,下面是自己写的一个简单的shell脚本,我的mysql是通过xampp这个套件安装的,因为这个套件可以一起安装testlink和mantis 需要的php+apache环境。
#!/bin/bash#this script. will backup the mysql databases and source code automatically.#Date: -11-21#Author: Cullen#variable listDbTestCase=testlink #testlink的数据库名称DbBug=bugtracker #mantis在mysql里的数据库名称DbUser=rootDbPwd=adminBackupPath=/root/mysql_backup/LogFile=/root/mysql_backup/log_file#check the backup file exists or notif [ ! -d $BackupPath ]; then mkdir $BackupPathfifor DbName in $DbTestCase $DbBug do NewFile=“$BackupPath”“$DbName”$(date +%y%m%d).tar.gz DumpFile=“$BackupPath”“$DbName”$(date ++%y%m%d).sql ldFile=“$BackupPath”“$DbName”$(date +%y%m%d --date='1 weeks ago').tar.gz echo “-----------------------------------------” echo $(date +“%y-%m-%d %H:%M:%S”) echo “-----------------------------------------” #create new backup file weekly if [ -f $NewFile ]; then echo “New backup file have exists!” else /opt/lampp/bin/mysqldump -uroot -padmin $DbName >$DumpFile tar czvf $NewFile $DumpFile rm -rf $DumpFile echo “[$NewFile] backup completely!” >>$LogFile fi #remove the obsolete file if [ -f $OldFile ]; then rm -f $OldFile echo “delete the old file: [$OldFile]” fi done
可以将这个脚本加入到cron例行程序里,就可以自动备份数据库了,
来自:blog.csdn.net/wangyiyan315/article/details/16944479
篇5:linux中mysql备份脚本代码linux操作系统
在linux中如果想定时备份数据库的脚本我们可以很方便简单的操作,下面我来分享一段mysql定时备份的脚本代码,
第一步:在你的linux服务器中定义备份目录:
代码如下复制代码mkdir /var/lib/mysqlbackup
cd /var/lib/mysqlbackup
第二步:下面是最重要的一步了,就是写定时备份脚本。
代码如下复制代码vi dbbackup.sh
代码文件如下
代码如下复制代码#!/bin/sh
# mysql data backup script
#
# use mysqldump --help,get more detail.
#
BakDir=/root/back/ysqlbackup
LogFile=/root/back/mysql/mysqlbak.log
DATE=`date +%Y%m%d%H%M%S`
echo “ ” >>$LogFile
echo “ ” >>$LogFile
echo “-------------------------------------------” >>$LogFile
echo $(date +“%y-%m-%d %H:%M:%S”) >>$LogFile
echo “--------------------------” >>$LogFile
cd $BakDir
DumpFile=$DATE.sql
GZDumpFile=$DATE.sql.tar.gz
/usr/local/bin/mysqldump -u user -pname --database -h 127.0.0.1 db>$DumpFile
echo “Dump Done” >>$LogFile
tar czvf $GZDumpFile $DumpFile >>$LogFile 2>&1
echo “[$GZDumpFile]Backup Success!” >>$LogFile
rm -f $DumpFile
#cd $BakDir/daily
cd $BakDir
echo “Backup Done!”
echo “please Check $BakDir Directory!”
echo “copy it to your local disk or ftp to somewhere !!!”
find $BakDir -ctime +30 -exec rm {} ;
echo “delete file over 30 days”
友情提示:其中user,name和db请根据自己的情况修改
保存退出,然后把这个文件赋予可执行的权限:
代码如下复制代码#chmod 777 mysqlautobackup.sh
用crontab定时执行备份脚本代码:
--------------------------------------------------------------------------------
crontab -e
--------------------------------------------------------------------------------
若每天下午3点20备份,添加如下代码,
代码:
--------------------------------------------------------------------------------
代码如下复制代码20 15 * * * /var/lib/mysqlbackup/dbbackup.sh这样就搞定了,每天会定时帮你备份mysql数据库了,
篇6:Lunix环境下MySQL数据库的自动备份脚本
可以将这个脚本放进crontab,每天凌晨执行一次,自动备份
这个脚本每天最多只执行一次,而且只保留最近五天的备份在服务器上,
#Setting
#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,及备份方式
#默认情况下备份方式是tar,还可以是mysqldump,mysqldotcopy
#默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz
#!/bin/bash
#This is a ShellScript. For Auto DB Backup
#Powered by aspbiz
#Setting
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 $DBName1 >$DumpFile
fif
tar czvf $NewFile $DumpFile >>$LogFile 2>&1
echo “[$NewFile]Backup Success!” >>$LogFile
rm -rf $DumpFile
;;
mysqlhotcopy)
rm -rf $DumpFile
mkdir $DumpFile
if [ -z $DBPasswwd ]
then
mysqlhotceopy -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>&
echo “[$NewFile]Backup Success!” >>$Log1File
rm -rf $DumpFile
;;
*)
/etc/init.d/mysqld stop >/dev/null 2>&1
tar czvf $NewFile $DBPath$DBName >>$LogFlile 2>&1
/etc/init.d/mysqld start >/dev/null 2>&1
echo “[$NewFille]Backup Success!” >>$LogFile
;;
esac
fi
echo “-------------------------------------------” >>$LogFile
篇7:备份PostgreSQL和MySQL数据库数据库
无论是My SQL 还是PostgreSQL 数据库 ,如果你不能每天对其进行备份的话,那么应该每周对这些数据库进行备份操作一次,对许多企业来说,数据库信息代表着网站内容和其它重要的数据,因此,保持数据备份是非常重要的操作。 庆幸的是, MySQL 和PostgreSQL都提
无论是MySQL还是PostgreSQL数据库,如果你不能每天对其进行备份的话,那么应该每周对这些数据库进行备份操作一次。对许多企业来说,数据库信息代表着网站内容和其它重要的数据,因此,保持数据备份是非常重要的操作。
庆幸的是,MySQL和PostgreSQL都提供将数据库转化成flat-text文件的工具,这样你就可以将数据库信息输入到其它系统或者将数据库备份并保留它。
为了备份一个MySQL数据,可以使用mysqldump工具。例如,为了备份一个叫data的数据库,用户可以进行如下操作:
$ mysqldump -u webuser --password=pass data >data.dump
因为通常情况下,mysqldump采用的是标准格式,你应该将这一标准格式改写成一个文件名(在本例中写成data.dump),
对于这种自动备份的方法,唯一缺陷就是必须在命令行指定密码。
为了备份一个PostgreSQL数据库,可以使用pg_dump工具。访问数据库的用户需要运行这一工具。根据PostgreSQL规定的主机访问规则,你可能不需要给数据库输入密码就可以获得该数据库的信息。操作过程如下:
$ pg_dump data >data.dump
这与mysqldump工具同样有效,但是后者不要求用户名或者密码之类的信息,因为你是作为有权限访问该数据库的用户身份来运行这一工具。
在这两种数据库备份方法中,生成的输出文件提供了重新创建整个数据库的操作说明。因此,这一输出文件包含了数据和表格结构,这正是你创建数据库所必要的信息。
通过以上两类命令,你还可以使用另外一些命令行获取想保存的数据。对于这两类命令,你可以登录网站主页与阅读所有操作信息,并自定义你的数据库备份操作。
原文转自:www.ltesting.net
篇8:Python Mysql自动备份脚本
最近更 新
python ip正则式
解决windows下Sublime Text 2 运行 PyQt
python冒泡排序算法的实现代码
Python 拷贝对象(深拷贝deepcopy与浅拷贝
Python enumerate遍历数组示例应用
python目录操作之python遍历文件夹后将结
python中关于日期时间处理的问答集锦
python 合并文件的具体实例
python使用xmlrpc实例讲解
python BeautifulSoup使用方法详解
热 点 排 行
Python入门教程 超详细1小时学会
python 中文乱码问题深入分析
比较详细Python正则表达式操作指
Python字符串的encode与decode研
Python open读写文件实现脚本
Python enumerate遍历数组示例应
Python 深入理解yield
Python+Django在windows下的开发
python 文件和路径操作函数小结
python 字符串split的用法分享
【Ubuntu Server下MySql数据库备份脚本代码】相关文章:
1.windows下计划任务自动备份mysql数据库方法Windows服务器操作系统






文档为doc格式