我有从服务器到FTP(NAS)备份文件夹的问题。 我正在使用Cobian备份,但安全更新后,Cobian开始不处理一些文件早些时候没有问题(文档,PDF或某种types的设置文件)。 我试图改变.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文件的目录树只复制一个文件夹没有文件,使麻烦。 麻烦的是,当你复制简单,你会得到有关path长的通知,另一个关于该不能复制的权限pdf,doc,ppt文件。 所以我需要做的是通过这个问题和复制尽可能多的path长和path长文件,使错误只是跳过没有问题。
您必须通过缩短目标路径名称来解决长路径问题; 有时SUBST
可以用来帮助你解决这个问题,如果内存服务。 就像是:
NET USE X: \\server\dir SUBST T: X:\subdir\subsubdir\subsubsubdir\anotherlongdir\blah
清理:
SUBST T: /D
至于在某些文件出错后继续复制文件,我相信robocopy /R:0 /W:0
会有帮助,而XCOPY /C
是它的对手。