我遇到从服务器到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文件的通知。所以我需要通过这个问题并复制尽可能多的路径长和路径长文件,使错误只是跳过。
答案 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
就是它的对应物。