如何在linux下实现db2数据库备份和恢复

如何在linux下实现db2数据库备份和恢复,第1张

通过如下备份脚本备份的数据库进行恢复

备份脚本:

. /home/db2admin/sqllib/db2profile  

db2 backup db datedb online to /dbbackup/date include logs  

cd /dbbackup/datetoday=`date +”%Y%m%d”`  

file1=”*$today*”  

ftpfile=`ls $file1`  

echo $ftpfile  

lftp -c “open ftp地址user 用户名密码@\$0put $ftpfile”  

find /dbbackup/date -ctime +15 -exec rm {} \

恢复命令:

通过root命令登录到服务器上后切换到数据库用户名下用su – db2admin命令。

进入到备份文件存放目录

执行如下命令

$ db2 restore db datedb from /hom

linux自动备份网站和数据库,到另外服务器上,为当前用户创建定时任务两台服务器111,和117服务器,每天完成111服务器上网站和数据库自动备份到117服务器上1:我的111服务器上是当前用户:sxA:

查看当前用户的计划任务:crontab

-l是查看当前用户的任务用

vi

crontab

-e

是为sxw用户创建一个计划任务第一行:每天3点运行/home/sxw/rsync201.sh

shell脚本,第二行:和第三行是每天下午7点运行tar包,gaokaotong和phpcms文件第三行:每天7点22分运行/homesxw/back_up.sh

shell脚本,注意:这里是当前用户sxw,所以要shell脚本路径要有用户sxw权限,在这里/home/sxw/back_up

shell脚本,是当前用户sxw用户的家目录。B:

111服务器上/home/sxw/back_up.sh脚本code:-bash-3.2$

vim

/home/sxw/back_up.sh#!/bin/shecho

开始备份数据库mysqldump

-u

jeecms

-pjeecms1234

gktcms

>

gktcms.sqlmysqldump

-u

jeecms

-pjeecms1234

phpcms

>

phpcms.sqlecho

备份数据库完成,复制到117服务器端scp

-P

10022

gktcms.sql

zk@114.113.145.117:/home/zkscp

-P

10022

phpcms.sql

zk@114.113.145.117:/home/zkscp

-r

-P

10022

/opt/www/www2/phpcms.tar.gz

zk@114.113.145.117:/home/zk/scp

-r

-P

10022

/opt/www/www2/gaokaotong.tar.gz

zk@114.113.145.117:/home/zk/echo

发送完成C:

还要在111上做ssh信任,这个可参照ssh资料。很简单,只需要建立两个密钥。2:

117服务器上/homezk/自动就会多出两个tar包文件,phpcms.tar.gz

和gaokaotong.tar.gz这里每天自动保存两个文件,phpcms.tar.gz

gaokaotong.tar.gz文件

这里做了一个shell脚本,保存前两天的文件,跟上述111服务器上的建立计划任务一样:A:

查看117的计划任务:

crontabl

-lB:

在查看/home/zk/back.sh

的shell编写code:[zk@DB2~]$

vi

/home/zk/back.sh#!/bin/shTARFILE=/home/zk/phpcms.tar.gzif

[

-f

$TARFILE

]then

mv

/home/zk/phpcms.tar.gz

/home/zk/phpcms_$(date

+%Y%m%d).tar.gz

#remove

date

file

DATE_B=$(date

-d2

day

ago

+%Y%m%d)

FILENAME=/home/zk/phpcms_$DATE_B.tar.gz

if

[

-f

$FILENAME

]then

rm

-rf

/home/zk/phpcms_$DATE_B.tar.gz

else

echo

没有可删除文件

fielse

echo

没有源文件fi~

结束。

1. 写个自动备份的脚本autobackup.sh,内容如下#!/bin/bashmysqldump -p databasename >mydata.sql2. 更改其为可执行文件 chmod +x autobackup.sh3. 通过crontab让系统自动运行这个脚本就好了,如crontab -e0 0 * * * /路径到/autobackup.sh第一个0表示分钟,第二个0表示0小时也就是零辰第三个*表示每天,第四个*表示每月,第五个*表示每周


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/349520.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-08
下一篇2023-05-08

发表评论

登录后才能评论

评论列表(0条)

    保存