有什么软件可以自动备份vps里面的数据库备份为sql格式的

你像从前一样的Python学习笔记
VPS自动备份到Dropbox
VPS自动备份到Dropbox
本文所讲内容为如何将VPS上的文件以及数据库中的内容定时自动备份到Dropbox上。
1.创建Dropbox应用
首先,需要创建一个Dropbox应用,可以从该网址进行创建:。
在这里,应用类型选择Dropbox API App,数据存储类型选择Files and datastores,权限选择Yes(应用只需要访问它创建的文件)。然后命名创建。
2.下载并执行dropbox_uploader.sh
是一个第三方Dropbox备份脚本,我们可以从这里获取到:。
然后,为该脚本添加执行权限:
# chmod +x dropbox_uploader.sh
执行该脚本:
# ./dropbox_uploader.sh
根据提示输入Dropbox应用中的App key和App secret,许可类型选择a,确认y,复制给出的权限验证链接到浏览器,确认后回到终端按任意键完成。
3.编写备份脚本
编写定时备份脚本,取名为backup.sh。其代码如下:
VPS自动备份到Dropbox脚本
#!/bin/bash
# MYSQL数据库帐号密码
MYSQL_USR="root"
# 数据库帐号
MYSQL_PWD="password"
# 数据库密码
# 定义需要备份的目录
NGINX_CONF_DIR=/usr/local/nginx/conf
# nginx配置目录
WEB_DIR=/home/wwwroot
# 网站数据存放目录
# 定义备份存放目录
DROPBOX_DIR=/$(date +%Y-%m-%d)
# Dropbox上的备份目录
LOCAL_BAK_DIR=/home/backup
# 本地备份文件存放目录
# 定义备份文件名称
DBBakName=DB_$(date +%Y%m%d).tar.gz
NginxConfBakName=NginxConf_$(date +%Y%m%d).tar.gz
WebBakName=Web_$(date +%Y%m%d).tar.gz
# 定义旧数据名称
Old_DROPBOX_DIR=/$(date -d -7day +%Y-%m-%d)
OldDBBakName=DB_$(date -d -10day +%Y%m%d).tar.gz
OldNginxConfBakName=NginxConf_$(date -d -10day +%Y%m%d).tar.gz
OldWebBakName=Web_$(date -d -10day +%Y%m%d).tar.gz
cd $LOCAL_BAK_DIR
#使用命令导出SQL数据库,并且按数据库分个压缩
for db in `mysql -u$MYSQL_USR -p$MYSQL_PWD -B -N -e 'SHOW DATABASES' | xargs`; do
(mysqldump -u$MYSQL_USR -p$MYSQL_PWD ${db} | gzip -9 - & ${db}.sql.gz)
#压缩数据库文件合并为一个压缩文件
tar zcf $LOCAL_BAK_DIR/$DBBakName $LOCAL_BAK_DIR/*.sql.gz
rm -rf $LOCAL_BAK_DIR/*.sql.gz
#压缩Nginx配置数据
cd $NGINX_CONF_DIR
tar zcf $LOCAL_BAK_DIR/$NginxConfBakName ./*
#压缩网站数据
cd $WEB_DIR
tar zcf $LOCAL_BAK_DIR/$WebBakName ./*
cd /root/bin
./dropbox_uploader.sh upload $LOCAL_BAK_DIR/$DBBakName $DROPBOX_DIR/$DBBakName
./dropbox_uploader.sh upload $LOCAL_BAK_DIR/$NginxConfBakName $DROPBOX_DIR/$NginxConfBakName
./dropbox_uploader.sh upload $LOCAL_BAK_DIR/$WebBakName $DROPBOX_DIR/$WebBakName
#删除旧数据
rm -rf $LOCAL_BAK_DIR/$OldDBBakName $LOCAL_BAK_DIR/$OldNginxConfBakName $LOCAL_BAK_DIR/$OldWebBakName
./dropbox_uploader.sh delete $Old_DROPBOX_DIR/
echo -e "Backup Done!"
<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a<div class="crayon-num crayon-striped-num" data-line="crayon-561a4a<div class="crayon-num" data-line="crayon-561a4a
#!/bin/bash&# MYSQL数据库帐号密码MYSQL_USR="root"&&# 数据库帐号MYSQL_PWD="password"&&# 数据库密码&# 定义需要备份的目录NGINX_CONF_DIR=/usr/local/nginx/conf&&# nginx配置目录WEB_DIR=/home/wwwroot&&# 网站数据存放目录&# 定义备份存放目录DROPBOX_DIR=/$(date +%Y-%m-%d)&&# Dropbox上的备份目录LOCAL_BAK_DIR=/home/backup&&# 本地备份文件存放目录&# 定义备份文件名称DBBakName=DB_$(date +%Y%m%d).tar.gzNginxConfBakName=NginxConf_$(date +%Y%m%d).tar.gzWebBakName=Web_$(date +%Y%m%d).tar.gz&# 定义旧数据名称Old_DROPBOX_DIR=/$(date -d -7day +%Y-%m-%d)OldDBBakName=DB_$(date -d -10day +%Y%m%d).tar.gzOldNginxConfBakName=NginxConf_$(date -d -10day +%Y%m%d).tar.gzOldWebBakName=Web_$(date -d -10day +%Y%m%d).tar.gz&cd $LOCAL_BAK_DIR&#使用命令导出SQL数据库,并且按数据库分个压缩for db in `mysql -u$MYSQL_USR -p$MYSQL_PWD -B -N -e 'SHOW DATABASES' | xargs`; do&&&&(mysqldump -u$MYSQL_USR -p$MYSQL_PWD ${db} | gzip -9 - & ${db}.sql.gz)done&#压缩数据库文件合并为一个压缩文件tar zcf $LOCAL_BAK_DIR/$DBBakName $LOCAL_BAK_DIR/*.sql.gzrm -rf $LOCAL_BAK_DIR/*.sql.gz&#压缩Nginx配置数据cd $NGINX_CONF_DIRtar zcf $LOCAL_BAK_DIR/$NginxConfBakName ./*&#压缩网站数据cd $WEB_DIRtar zcf $LOCAL_BAK_DIR/$WebBakName ./*&cd /root/bin#开始上传./dropbox_uploader.sh upload $LOCAL_BAK_DIR/$DBBakName $DROPBOX_DIR/$DBBakName./dropbox_uploader.sh upload $LOCAL_BAK_DIR/$NginxConfBakName $DROPBOX_DIR/$NginxConfBakName./dropbox_uploader.sh upload $LOCAL_BAK_DIR/$WebBakName $DROPBOX_DIR/$WebBakName&#删除旧数据rm -rf $LOCAL_BAK_DIR/$OldDBBakName $LOCAL_BAK_DIR/$OldNginxConfBakName $LOCAL_BAK_DIR/$OldWebBakName./dropbox_uploader.sh delete $Old_DROPBOX_DIR/&echo -e "Backup Done!"
其中,用户可以根据自己的需求改编需要备份的目录,以及保留旧数据的时长(比如我这里设置的是Dropbox保留7天,本地保留10天)。
接下来,为这个备份脚本增加执行权限:
# chmod +x backup.sh
4.添加crontab
crontab –e,添加:
30 3 * * * /root/bin/backup.sh
这样,就可以每天凌晨3:30自动备份到Dropbox了。
5.Reference
本文部分内容参考自:
1,449 次围观
TrackBack 地址打开SQL SERVER MANAGEMENT STUDIO,启动SQL SERVER代理服务(注意在&控制面板-管理工具-服务&中设置SQL SERVER AGENT的启动类型为自动)。启动后点击&作业-新建作业&,弹出一个作业属性的窗口,在&常规&栏目里可以先给作业命名,假设为&备份数据&。 一、备份数据的第一个步骤--&备份当日数据& 在&步骤&栏目里新建一个步骤名为&备份当日数据&,类型为&T-SQL&,选择你要操作的数据库(假设为&TESTDB&),命令窗口里填入备份的SQL语句。假设备份数据放在&D:\BACKUP&里,备份文件命名格式为&SQL-.BAK&,那么语句如下:DECLARE @filename VARCHAR(255)DECLARE @date DATETESELECT @date=GETDATE()SELECT @filename = 'D:\BACKUP\SQL-'+CAST(DATEPART(yyyy,@date) as varchar)+'-'+CAST(DATEPART(mm,@date) as varchar)+'-'+CAST(DATEPART(dd,@date) as varchar)+'.bak'BACKUP DATABASE [TESTDB] TO&&DISK = @filename WITH INITGO在步骤属性的高级的&成功时要执行的操作&选择&转到下一步&即可,这样&备份当日数据&的步骤已经建立好。二、备份数据的第二个步骤--&删除旧有备份&我们可以设置只保留5天内的备份数据,那么必须删除5天前的数据备份文件。在&备份数据&作业属性窗口的步骤栏目里,建立第二个步骤命名为&删除旧有备份&。同样类型为&T-SQL&,命令窗口里填入一下SQL语句:DECLARE @OLDDATE DATETIMESELECT @OLDDATE=GETDATE()-5EXECUTE master.dbo.xp_delete_file 0,N'D:\BACKUP',N'bak',@olddate,1此命令会删除&D:\BACKUP&里5天前的.BAK或.TRN格式的文件,不用指定文件名是什么。因为SQL SERVER的备份文件里包含了时间属性在里面。在步骤属性的高级的&成功时要执行的操作&选择&退出报告成功的作业&即可,这样第二个步骤已经建立好。三、备份数据作业属性的计划栏目里,设置作业的执行时间新建一个作业计划,命名为&每日自动备份和删除&,再选择执行的周期,例如每天凌晨1点开始执行。最后保存整个&备份数据&的作业,每日就会自动备份数据库和删除旧有数据了。
阅读(...) 评论()SQLBackupAndFTP(SQL Server数据库自动备份工具) v10.0.20 官方专业版 绿色版
SQLBackupAndFTP(SQL Server数据库自动备份工具) 软件介绍 Soft content
SQL数据库备份软件,创建MS SQL服务器和Azure 数据库的备份,程序可以帮助你自动的在后台将服务器上SQL数据库中的数据打包压缩成ZIP或者7z格式的压缩包,然后通过FTP备份下来,支持AES-256数据加密技术,可以选择全部备份整个数据库,或者单独备份选定的某一个数据表!可自定义备份时间,也可设定备份完成后自动发送一封电子邮件通知您!备份后的数据可以一键还原到原数据库中,非常方便易用!完整、差异或事务日志备份,运行自定义脚本,备份文件夹,允许用户在网络上更多的结果。
安排到日常工作:您的sql server数据库备份 邮件备份 FTP(S)的一个远程FTP服务器备份或保存在局域网上它 送你一对工作的成功或失败的电子邮件确认。 SQLBackupAndFTP独特之处:很简单:SQLBackupAndFTP是独一无二的,在它的简单 - 整个“设置它和忘记它”工作可以一个人在一两分钟的无标签的单一形式进行。 所有功能于一身:整个备份 - 压缩 - 以FTP - 确认过程整合为1-2-3(4)廉价或免费的:在比较功能方案从200美元开始。在SQLBackupAndFTP如果你可以得到免费的(如果您需要安排一两个数据库),或者只是无限美元计划的SQL Server数据库备份49。 可信:由一家美国软件公司经过多年建立在NET和SQL Server的经验应该在哪里SQLBackupAndFTP使用。SQLBackupAndFTP非常适合在任何SQL Server数据库备份必须每天发送到远程FTP服务器。
这将节省维修时间任何SQL Server版本,但它是特别为SQL Server Express 2005和SQL Server Express 2008有用,因为它们不具有内置的工具备份所有的事实。
SQLBackupAndFTP主要特点:执行数据库备份 邮编备份 保存备份在本地(或LAN) 发送到FTP服务器备份 发送电子邮件确认 排程备份,邮编和FTP的工作 Unlmited的备份使用“立即运行”数据库的数字按钮 远程(脚本)的数据库备份
要求: SQL Server
发送EMAIL功能的auto选项使用的是作者的服务器,所以,不要用auto。
序 列 号:任选其一9B85E78D3A6F25AECDF630A0ACD4B41E6E9DE6C6B6AFCBC2F14894ACFD504DC1FAB69EABDCBA42CA33092BAE5C7CFE47F7A36C23A591D43BA1B499E17B2BE5ECC5069A9BFF5936B22BEFA4174A21DE4A74BC9E562CE74C78D71BEC55A7A7F5D22FABE78D47B2DE2697DABC24FC33D5C2B9204B13D64C9E8CF8CEEDE59CA4DA6D09F8722E
SQLBackupAndFTP(SQL Server数据库自动备份工具)下载地址[]
扫一扫:下载到手机
* 推荐下载+解压;软件通过+++扫描,问题软件请
从评论反馈
* 本站已不再更新破解相关,若大意发布了相关破解,告知!保证永不再收录!
36.00MB/简体中文/5星
19.00MB/简体中文/3星
7.95MB/简体中文/3星
63.85MB/简体中文/3星

我要回帖

更多关于 数据库备份 的文章

 

随机推荐