Chinaunix首页 | 论坛 | 博客
  • 博客访问: 55605
  • 博文数量: 13
  • 博客积分: 512
  • 博客等级: 中士
  • 技术积分: 135
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-22 14:28
文章分类

全部博文(13)

文章存档

2011年(1)

2006年(12)

我的朋友

分类:

2006-08-02 03:17:23

@echo off
rem 关闭屏幕回显

if not exist d:\dmpftp.log echo DMPFTP LOG FILE>d:\dmpftp.log
rem 如果是首次运行程序,创建log文件d:\dmpftp.log

echo -----%date%-----%time%----->>d:\dmpftp.log
rem 在log文件中记录程序运行时的日期和时间

if exist d:\*.dmp ren d:\*.dmp *.old
rem 将以前的备份文件改名为old(以后若ftp成功则删除,若ftp失败就保留)

echo open 193.152.5.129>d:\dmpftp.txt
rem 建立ftp命令文件d:\dmpftp.txt,其中第一条命令就是连接omcr服务器,ip需根据现场情况设置

echo user xyz xyz>>d:\dmpftp.txt
rem 在命令文件d:\dmpftp中加入第二条命令,设置ftp时所需用户名和口令,根据情况设置

echo prompt>>d:\dmpftp.txt
rem 在命令文件d:\dmpftp中加入第三条命令,关闭ftp回显

echo cd /export/home/bak/db/backup>>d:\dmpftp.txt
rem 在命令文件d:\dmpftp中加入第四条命令,切换远程目录,根据情况设置

echo lcd d:/>>d:\dmpftp.txt
rem 在命令文件d:\dmpftp中加入第五条命令,切换本地目录

for /F "tokens=2-4 delims=/ " %%i in ("%date%") do echo get _%%k%%i%%j.dmp>>d:\dmpftp.txt
rem 从windows变量%date%中提取当天所要get的dmp备份文件名
rem 如果dos窗口下运行echo %date%,回显的是英文格式日期Fri 08/18/2006,就用上述命令生成第六条ftp命令
rem 如果%date%是中文格式2006-08-18 星期五,需改为
rem for /F "tokens=1-3 delims=- " %%i in ("%date%") do echo get _%%i%%j%%k.dmp>>d:\dmpftp.txt
rem 如是是oracle数据库用dmp,如果是db2数据库要将dmp改为tar

echo bye>>dmpftp.txt
rem 在命令文件d:\dmpftp中加入第七条命令,结束ftp

type d:\dmpftp.txt | ftp -n>>d:\dmpftp.log
rem 以dmpftp.txt文件内容做为ftp命令的输入,ftp执行的回显记录到log文件中

del d:\dmpftp.txt
rem 删除ftp命令文件,因为下次ftp时的dmp文件名有变化,需重新生成ftp命令文件

if exist d:\*.dmp del d:\*.old
rem 如果ftp成功,删除前一天的dmp文件

if not exist d:\*.dmp echo Ftp remote host FAIL, Save old file...>>d:\dmpftp.log
rem 如果因服务器或局域网原因ftp失败,记录到log文件中

dir d:\*.dmp d:\*.old>>d:\dmpftp.log
rem 列出当时客户端下的dump文件名,如果当天ftp成功则是当天的dmp文件,如果当天ftp失败,则是前一天的old文件,改扩展名后一样

exit

阅读(3847) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~