oracle(11g)求一个自动备份脚本 20
oracle(11g)求一个自动备份脚本,要求:要求在某一个时段自动备份,然后删除三天前的备份文件,最好每一条什么意思标明一下。最好异地备份也来一个。万分感谢...
oracle(11g)求一个自动备份脚本,要求:要求在某一个时段自动备份,然后删除三天前的备份文件,最好每一条什么意思标明一下。最好异地备份也来一个。 万分感谢
展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏20(财富值+成长值)
2个回答
展开全部
1、某一个时段自动备份用crontab计划任务实现即可,例如
crontab -e添加
0 4 * * * /opt/bak.sh
2、删除三天前的备份文件用find . -type f -mtime +3 -exec rm -rf {} \;实现
3、异地备份你就scp到其他主机上一份
4、实例bak.sh:
#!/bin/sh
today=`date +%Y%m%d%H`
bakfile=/opt/backup/bak_${today}.dmp
logfile=/opt/backup/logs/bak_${today}.log
find /opt/backup -type f -mtime +3 -exec rm -rf {} \;
#执行某些sql语句
#echo -e "select count(*) from table purge;"| sqlplus -s 'user01/123456'
exp user01/123456 file=$bakfile TABLES=T1,T2 log=$logfile
#你需要提前实现ssh无密码访问或者安装sshpass之类的软件
scp $bakfile root@172.16.1.7:/opt/backup/
crontab -e添加
0 4 * * * /opt/bak.sh
2、删除三天前的备份文件用find . -type f -mtime +3 -exec rm -rf {} \;实现
3、异地备份你就scp到其他主机上一份
4、实例bak.sh:
#!/bin/sh
today=`date +%Y%m%d%H`
bakfile=/opt/backup/bak_${today}.dmp
logfile=/opt/backup/logs/bak_${today}.log
find /opt/backup -type f -mtime +3 -exec rm -rf {} \;
#执行某些sql语句
#echo -e "select count(*) from table purge;"| sqlplus -s 'user01/123456'
exp user01/123456 file=$bakfile TABLES=T1,T2 log=$logfile
#你需要提前实现ssh无密码访问或者安装sshpass之类的软件
scp $bakfile root@172.16.1.7:/opt/backup/
追问
不是很懂,比如现在有一个数据库叫zjszyy14 ,能写一个实例吗?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
@echo off
@rem 数据库开始备份......
set V_DATE=%date:~0,4%%date:~5,2%%date:~8,2%
set V_HOUR=%time:~0,2%
if "%time:~0,1%" == " " set V_HOUR=0%time:~1,1%
set V_DATETIME=%V_DATE%%V_HOUR%%time:~3,2%%time:~6,2%
set ORACLE_HOME=F:\oracle\product\10.2.0\client_1
"F:\oracle\product\10.2.0\client_1\BIN\exp.exe" user/passwd@IP_SID BUFFER=307200 file=F:\dbbak\user%V_DATETIME%.dmp log=F:\dbbak\user%V_DATETIME%.log statistics=none
"C:\Program Files\WinRAR\WinRAR.exe" a -df -ep1 -afzip F:\dbbak\user%V_DATETIME%.zip F:\dbbak\*.dmp F:\dbbak\*.log
@REM zip -Am zipFile.zip *.dmp
forfiles /p "F:\dbbak" /m *.zip /d -30 /c "cmd /c del @path"
@rem 数据库开始备份......
set V_DATE=%date:~0,4%%date:~5,2%%date:~8,2%
set V_HOUR=%time:~0,2%
if "%time:~0,1%" == " " set V_HOUR=0%time:~1,1%
set V_DATETIME=%V_DATE%%V_HOUR%%time:~3,2%%time:~6,2%
set ORACLE_HOME=F:\oracle\product\10.2.0\client_1
"F:\oracle\product\10.2.0\client_1\BIN\exp.exe" user/passwd@IP_SID BUFFER=307200 file=F:\dbbak\user%V_DATETIME%.dmp log=F:\dbbak\user%V_DATETIME%.log statistics=none
"C:\Program Files\WinRAR\WinRAR.exe" a -df -ep1 -afzip F:\dbbak\user%V_DATETIME%.zip F:\dbbak\*.dmp F:\dbbak\*.log
@REM zip -Am zipFile.zip *.dmp
forfiles /p "F:\dbbak" /m *.zip /d -30 /c "cmd /c del @path"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询