
2、在d出的新“连接”窗口中输入:连接名、远程服务器主机名/IP、远程服务器用户名及密码。输入完成后确定。
图一:连接远程服务器
3、双击我们创建的连接,就可以看到远程服务器上面的所有数据库了。
图二:查看远程服务器数据库
4、点击选定我们需要备份的数据库,然后点击工具栏的计划任务按钮。
图三:开始备份 *** 作(1)
5、点击“创建批处理任务”。
图四:创建批处理任务
6、在d出的新“创建批次处理窗口”中双击可用任务中的“Backup 数据库名称”,在下面的“选择任务”框中就会出现选取“Backup 数据库名称”选项,也就会选择需要备份的数据库。如下图的“wakwaka”数据库
图五:选择需要备份的数据库
7、点击保存按钮,输入备份文件用户名。
图六:输入备份文件名
8、返回软件主界面,在点击工具栏的计划任务,你将会看到里面多了一个你刚才设置的备份文件名的计划任务,右键选择该任务,选择设置计划任务。
图七:设置计划任务
9、在d出新窗口中选择“计划”选项卡,根据自己的需要新建一个计划,再点击高级按钮,设置自动备份的方式。
图八:设置自动备份的时间
图九:设置备份的重复任务
10、设置完成后,系统会要求你输入本机的管理员的密码。
11、以上 *** 作都完成之后,就可以看看我们的成果了,我们可以看到自动备份的文件名是以时间命名的,这样就更方便你恢复数据库。
图十:已经在成功自动备份了
12、如果你想要恢复数据库的话,就双击相应时间的备份文件,点击“开始”即可。
图十一:恢复备份文件直接备份到本机有点困难,可以尝试以下两种方法: 一种是,在你本机的SQLserver2005中建一个同名的数据库,然后右键单击该数据库名称->任务->复制数据库方式将远程的数据库拷到本机上,然后在备份(注,使用这个功能,得确保SQLServer是运行状态的) 另一种方法是你先备份到服务器上,然后通过远程登录或者是网上邻居将备份文件拷到你机子上(不过这种方式比较慢)创建脚本/root/script/backupsh
# 该脚本应用于10多台普通的Linux应用服务器,多年来从未出过差错。
# 数据库备份较为特殊,这里不包含数据库备份。
# 因为脚本中含有FTP密码,所以FTP仅给予写权限较为安全,FTP中的老备份的定期删除任务由FTP服务器完成。
# 备份加入到自动任务中,每周六23:00执行,并写入日志,如下:
# 追加下面语句到/etc/crontab中
# 0 23 6 root /root/script/backupsh >> /root/script/backuplog 2>&1
#有注释版:
#!/bin/bash
#=====================================================
#author zhaoyn
#date 2010/12/31
#=====================================================
#参数设定
basedir=/opt/backup #备份存放的目录
days=15 #备份在本地保留天数
bakfiles="/root/script /etc" #需要备份的目录或文件,请不要使用快捷方式或通配符
ftpip=XXXXXXXXXXXX #异地备份的FTP地址
ftpuser='username' #异地备份的FTP用户名
ftppw='password' #异地备份的FTP密码
echo =====================================================
date
cd $basedir
#删除备份目录中15天以前备份文件,不包含子目录
find -maxdepth 1 -name "tgz" -mtime +"$days" -exec rm -f {} \;
for bakfile in $bakfiles
do
file=`basename $bakfile`
#压缩打包需要备份的目录,包括权限,文件命名包含当前时间
tar -czpf "$file"_$(date +%Y%m%d-%H%M)tgz $bakfile
#大文件打包前后,缓解磁盘压力,降低I/O错误概率
sleep 10s ;sync;sync
done
#通过FTP上传当天备份的文件到异地
ftp -v -n -i $ftpip <<END
user $ftpuser $ftppw
bin
mput $(date +%Y%m%d)tgz
bye
END
#无注释版:
#!/bin/bash
#=====================================================
#author zhaoyn
#date 2010/12/31
#=====================================================
basedir=/opt/backup
days=15
bakfiles="/root/script /etc"
ftpip=XXXXXXXXXXXX
ftpuser='username'
ftppw='password'
echo =====================================================
date
cd $basedir
find -maxdepth 1 -name "tgz" -mtime +"$days" -exec rm -f {} \;
for bakfile in $bakfiles
do
file=`basename $bakfile`
tar -czpf "$file"_$(date +%Y%m%d-%H%M)tgz $bakfile
sleep 10s ;sync;sync
done
ftp -v -n -i $ftpip <<END
user $ftpuser $ftppw
bin
mput $(date +%Y%m%d)tgz
bye
END
Mysql的备份,如果凌晨可以停止几分钟,那么强烈建议对Mysql执行物理备份,脚本如下
#!/bin/bash
#History
#=====================================================
#When Who What
#2010/3/24 Zhaoyn Create
#
#=====================================================
basedir=/opt/backup
updir=$basedir/updir
timenow=$(date +%Y%m%d-%H%M)
# 删除mysql十四天前的数据,注意,这里仅删除了mysql的tgz文件。
rm -f `find $basedir -name "mysqltgz" -mtime +14`
# 由于数据库在有连接的情况下,直接对数据文件打包是可能出问题的,所以这里我们在打包前要停用数据库,这样直接对数据文件打包,恢复时只需解压数据文件到新环境相应的目录即可,默认是/var/lib/mysql
# 如果白天也要进行数据库备份,请使用mysqldump命令,进行在线备份。恢复也挺方便的。
/etc/rcd/initd/mysqld stop
sleep 5s ;sync;sync
tar -czpf $basedir/mysql$timenowtgz /var/lib/mysql
/etc/rcd/initd/mysqld start
#=====================================================
附件中的脚本文件是有DOS换行符(CR/LF)的,复制文件中的内容到SSH客户端没有问题,如果直接拷贝文件到Linux系统中,可先运行下面的命令:
mv txt sh
dos2unix sh
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)