您的位置:首页 > 编程语言 > PHP开发

自动ftp的批处理文件

2013-03-26 11:43 155 查看
分类:

@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
http://blog.chinaunix.net/uid-20139906-id-1733807.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: