使用Bat脚本备份数据库时,出现的问题。望指导

使用Bat脚本备份数据库时,出现的问题。望指导,第1张

目测:::导出数据库数据,这个标签后面的没有被执行是不是?
如果是的话,那么极可能是exp这条命令不在执行路径里面,把它写成绝对路径就行了,任务计划里的BAT涉及到路径的最好全写成绝对路径,这个执行路径好坑的。

以下批处理BAT代码,正是您所需要的批处理代码:
一、备份IP地址、子网掩码、默认网关、DNS信息的批处理代码
@echo off&setlocal enabledelayedexpansion
set n=0
for /f "skip=2 tokens=3 delims= " %%i in ('netsh interface ip show address') do (
set /a n =1
if "!n!" EQU "1" set var=%%i&call:loop !var!
)
pause>nul
exit /b
:loop
if "%1" EQU "否" (
echo IP是静态的,正准备进行备份
echo
echo 备份当前网络配置
echo
echo 按任意键继续&pause>nul
echo
netsh -c interface dump>c:\IP_DNStxt&&echo 网络配置备份成功!
echo @echo off>c:\IP_DNSbat
echo netsh exec c:\IP_DNStxt^&^&echo IP网络配置成功^!>>c:\IP_DNSbat
echo exit /b>>C:\IP_DNSbat
) else (
echo IP是动态的所以就不需要备份了。
goto :eof
)
以上代码的使用方法:
将以上的代码,粘贴到记事本,然后保存成为一个以BAT为扩展名的批处理文件,使用的时候,直接双击此批处理文件即可成功。
成功之后,我们会在C盘根目录,得到两个文件,一个名称为:IP_DNSbat;另外一个名称为:IP_DNStxt
其中:IP_DNStxt文件就是保存本机的网络配置的信息的文件。而IP_DNSbat是用来恢复网络配置的批处理文件。
二、还原IP地址、子网掩码、默认网关、DNS信息的批处理代码
上面已经说了,通过上面的代码,我们可以在C盘根目录得到两个文件,一个名称为:IP_DNSbat;另外一个名称为:IP_DNStxt;
其中,IP_DNSbat批处理文件,就是用来还原iP地址、子网掩码、默认网关和DNS信息的,只需要双击该文件就成功了。
不同的计算机所得到的IP_DNSbat信息是不一样的,因此,本站就不再粘贴出相关代码了。
三、知识扩展
如果将IP地址、DNS设置为自动获取?
批处理代码如下:
echo 将IP、DNS设为自动获取,按任意键继续&pause>nul
netsh interface ip set address name="本地连接" source=dhcp
netsh interface ip set dns name="本地连接" source=dhcp&&echo 设定完成!

在B服务器上做计划任务,添加计划任务脚本,写个批处理,内容包含从系统时间取值建立文件夹;然后从A服务器的该web文件夹设置共享,共享给有读取权限的用户名密码要记录下来,这里用A和P分别表示;脚本内容如下:
@echo off
net use \\A服务器IP或者名称\共享文件夹 "p"/user:A
set m=%date:~0,4%%date:~5,2%%date:~8,2%
xcopy \\A服务器IP或者名称\共享文件夹\ 本地存放的文件夹目录\%m% /s /e /i
给个范例:
@echo off
net use \\server\web "password"/user:account
set m=%date:~0,4%%date:~5,2%%date:~8,2%
xcopy \\server\web\ d:\files\%m% /s /e /i /y
这个就是将server\web目录下的所有文件文件夹 拷贝到本地 d盘 files目录下的根据当天日期生成的文件夹中(今天就是 d:\files\20140116)
注意这个命令是覆盖式拷贝,同名文件直接就覆盖了哈
使用net use 映射磁盘,提示:发生系统错误5 拒绝访问解决方案:更改目标计算机的设置。组策略——计算机配置——Windows设置——安全设置——本地策略——安全选项 将 “网络访问:本地帐户的共享和安全模式” 改为经典
打了好多字,望采纳
再多完善一下,如果你的服务器有默认的共享,比如 D$ 等,并且你的web文件夹在该盘符上,那么你可以不用给web文件夹设置共享,可以直接 net use \\server\D$ “p”/user:A 来建立通道,其中 A和P分别是server服务器上对D盘有访问权限的用户,一般建议直接用server的管理员账户密码,或者在A服务器上新建一个对D盘有访问权限的用户即可。该语句可改为:
@echo off
net use \\server\d$ "password"/user:account
set m=%date:~0,4%%date:~5,2%%date:~8,2%
xcopy \\server\d$\web\ d:\files\%m% /s /e /i /y
这样做的好处是,利用服务器自带的默认共享,而不用专门设置web文件夹共享了。如果你的服务器/域内安全策略关闭了盘符的默认共享,那么只有建立web文件夹的共享了。
以上回答你满意么?

题主你好,主程序代码:

@echo off
pushd %~dp0
at 12:00 /every:M,T,W,Th,F,S,Su "F:\备份\copybat"
xcopy /s /i /y /q F:\记录 F:\备份\记录"%date%"
exit

分割线

辅助代码:(说明:此代码用于解除每天自动复制)

at /delete

分割线

使用说明:

将主程序代码复制到文本中保存

将文本文件改名为copybat  (重点,一定要写这个文件名)

将辅助代码复制到文本中保存

将文本文件改名为endcopybat

复制代码时,不要复制分割线

将copybat文件放在备份文件夹下运行(重点,一定要在备份文件夹运行)

您可以使用cmd环境的rar,对所有B00n文件夹下的C003进行整体打包,然后上传各个打包的rar文件,我假定您AAA目录下所有B大头的目录都有C003子目录,并且都要备份上传。这个rar工具可以在winrar的安装目录下找到,拷贝到AAA目录下就行了。
按您的描述,增量备份用批处理可能会比较麻烦,我下面帮您写的是全量备份的,不过rar做的压缩包会保持文件的完整目录结构。
把下面的命令存为批处理文件:my_ftp_put_C003bat,这个bat文件要放在AAA目录下。
@echo off
@set d=E:\AAA
@cd /d %d%
rem 下面三行是ftp的IP、用户名、密码,请自行替换
@set ftpip=127001
@set ftpusr=username
@set ftppwd=password
@for /f "delims=" %%i in ('dir B /ad /b') do @rar a AAA_%%i_C003rar %%~fi\C003
@echo open %ftpip%>%d%\tmpftp
@echo %ftpusr%>>%d%\tmpftp
@echo %ftppwd%>>%d%\tmpftp
@for /f "delims=" %%i in ('dir AAA_Brar /b') do @echo put %%i >>%d%\tmpftp
@echo quit >>%d%\tmpftp
@ping -n 2 127001 >nul
@ftp -s:%d%\tmpftp
@del %d%\tmpftp
上面有几行,在注释后面是ftp的ip地址、用户名、密码,您要改成您自己的。
以上批处理我已经在Win10+ftp的环境下测试过了,希望对您有帮助。

如果不能后台,必须d出一个cmd的窗口的话,那让它清屏之后再显示“正在备份,您可以正常使用电脑,但请勿关闭此窗口”
请高手帮我写一个这样的脚本吧!
补充:
用批处理文件
BAT!
而不是计划任务!
补充:
不知道的请不要回答,既然要备份就肯定有用途!
防病毒又不是只用bat就能防的或者可以把每天下午1:30的条件改为
当某个盘符内有文件的时候则自动运行
例如优盘插入电脑的时候
自动将U盘内容复制到电脑内的意思
补充:
不懂的和不实在别来回答
除了计划任务一样可以用bat实现!

路径中包含空格,要加引号,如
md f:\databak
md f:\databak\%date:~0,10%
copy "c:\aa bb\ f:\databak\%date: ~0,10%\


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12952914.html

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

发表评论

登录后才能评论

评论列表(0条)

保存