下面是一则MySQL备份实例,在Ubuntu下测试通过。完成任务是本地备份。可用于服务器端。
#! /bin/bashecho "backupmysql V1.0"###date stamp###
datestamp=$(date +%Y-%m-%d)###path ###
startdir=/home/user/mysqlbackup###bakfile prefix###
fileprefix=sqlecho "sqldump is starting.."###bakup command####
mysqldump -uuser -ppassword -l databasename > $startdir/$fileprefix$datestamp.sqlecho "########################################################################"echo "sqldump is done"###tar file ###
cd $startdirecho "the current directory is :"
pwdtar zcvf $startdir/$fileprefix$datestamp.tgz $fileprefix$datestamp.sql###del the sql file###
rm -rf $startdir/$fileprefix$datestamp.sqlecho "#######################################################################"echo "...... Done"如果远程将备份取到异地,如下我写的一个客户端用例(测试环境RedHat-as-5)。用sftp协议。引用:
#! /bin/bashsftp root@www.domain.com << EOFcd /home/user/mysqlbackuplcd /home/mysqlbackup/-get fileprefix$(date +%Y-%m-%d).tgzquitEOF注fileprefix$(date +%Y-%m-%d).tgz 与服务器端备份的相对应,路径为、home/user/mysqlbackupget命令前加一个"-"以防止其执行错误时sftp执行过程被终止.注:假设数据库服务器名字为database,备份数据的服务器的名字backup,我们需要在backup服务器端运行脚本来取得database服务器端的备份文件。两台服务器采用sftp传输文件但是现实shell中sftp登录需要交互式的密码,为了在远端服务器采用非交互的sftp,我们可以选择用密钥的方法进行验证登录权限。从而代替密码验证方式。首先需要我们在backup生成密钥,并将其公钥上传到database服务器。因为shell脚本中使用sftp时必须用到密钥对(公钥和私钥),可以使用如下命令$ssh-keygen -d然后分发公钥为了使用密钥,必须将公钥分发到欲登录的远程backup服务器上,1.copy公钥到欲登录的远程服务器的远程用户的家目录下,例如:cp id_dsa.pub到database:/home/user/.ssh/若目录/home/user/.ssh/不存在,需要我们手工建立。公钥文件更名为authorized_keys修改公钥文件的访问权限chmod 644 authorized_keysOracle 临时表空间过大问题解决Oracle数据库文件恢复以及备份思路相关资讯 MySQL教程
- 30分钟带你快速入门MySQL教程 (02月03日)
- MySQL教程:关于I/O内存方面的一些 (01月24日)
- CentOS上开启MySQL远程访问权限 (01/29/2013 10:58:40)
| - MySQL教程:关于checkpoint机制 (01月24日)
- MySQL::Sandbox (04/14/2013 08:03:38)
- 生产环境MySQL 5.5.x单机多实例配 (11/02/2012 21:02:36)
|
本文评论 查看全部评论 (0)