从服务器,文件夹备份到ftp并传递问题

时间:2017-08-15 20:01:47

标签: windows batch-file server ftp backup

我遇到从服务器到ftp(NAS)的备份文件夹问题。我正在使用Cobian备份,但在安全更新后,Cobian开始处理一些以前没有问题的文件(doc,pdf或某种类型的安装文件)。我尝试使用调度程序帮助更改为.bat文件脚本。我正在使用脚本

net use X: \\address\Backup /user:logins /p:no






for /f "tokens=1* delims=" %%a in ('date /T') do set datestr=%%a


md X:\*\*_"%date:/=_%"
md X:\*\*_"%date:/=_%"
md X:\*\*_"%date:/=_%"
md X:\*\*_"%date:/=_%"
md X:\*\*_"%date:/=_%"


net stop MSSQL$PAYPREMIUM
net stop ASANYs_labbis
net stop ASANYs_FinvaldaMaxiServer
net stop ASANYs_FinvaldaMaxiServern

robocopy C:\Program Files\Microsoft SQL Server\MSSQL10_50.PAYPREMIUM\MSSQL\DATA X:\1\PAYPREMIUM\DATA /MIR /LOG:D:\LOG\log.txt

robocopy /mir C:\*\ X:\*\*_"%date:/=_%" /COPY:DAT /E /LOG:D:\LOG\log.txt

robocopy /mir C:\Program Files\Microsoft SQL Server\MSSQL10_50.PAYPREMIUM\MSSQL\DATA\ X:\*\*_"%date:/=_%" /COPY:DAT /E /LOG:D:\LOG\log.txt

robocopy /mir C:\ProgramData\*\data\ X:\*\data_"%date:/=_%" /COPY:DAT /E /LOG:D:\LOG\log.txt

robocopy /mir G:\*_K\ X:\*\*_K_"%date:/=_%" /COPY:DAT /E /LOG:D:\LOG\log.txt

robocopy /mir G:\*\ X:\*\*_"%date:/=_%" /COPY:DAT /E /LOG:D:\LOG\log.txt




net start MSSQL$PAYPREMIUM
net start ASANYs_labbis
net start ASANYs_FinvaldaMaxiServer
net start ASANYs_FinvaldaMaxiServern

net use X: * /delete /Y

但robocopy和xcopy没有处理某些情况。所以在此之后我尝试使用WinSCP脚本

option batch abort
option confirm off
open ftp://logins


put -preservetime E:\FILESERVER /disk1/ftp/SRV/FileServer_%TIMESTAMP#yyyymmddhhnnss%

exit

但即使这样也没有处理这种情况,当来自60 + GB文件的目录树只复制一个文件夹而没有造成麻烦的文件。麻烦的是,当您复制简单时,您会收到有关路径长的通知以及另一个关于无法复制权限pdf,doc,ppt文件的通知。所以我需要通过这个问题并复制尽可能多的路径长和路径长文件,使错误只是跳过。

1 个答案:

答案 0 :(得分:1)

您必须通过缩短目标路径名来解决长路径问题;如果内存有效,有时候SUBST可以用来帮助你解决这个问题。类似的东西:

NET USE X: \\server\dir
SUBST T: X:\subdir\subsubdir\subsubsubdir\anotherlongdir\blah

清理:

SUBST T: /D

至于在某些文件出错后继续复制文件,我相信robocopy /R:0 /W:0会有所帮助,XCOPY /C就是它的对应物。