服务器的数据备份方法很多,这里使用简单的系统命令来进行远程定时备份。
首先在服务器上将要备份的文件和文件夹打包
***************WEB 打包
rem 计划任务,每天3:00
d:\tools\RAR.exe a -r -ac -agYYYY-MM-DD -x@d:\tools\noback.txt e:\back\web\wwwroot_ d:\user\wwwroot\*.*
其中的 noback.txt 是不需备份的文件列表
--维护计划,每天2:00
declare @sql nvarchar(max),@dbname nvarchar(100);
select @dbname=mydb';
select @sql='BACKUP DATABASE ['+@dbname+'] TO DISK = N''e:\back\db\'+@dbname+'_'+CONVERT(NVARCHAR(10),GETDATE(),120)+'.bak'' WITH NOFORMAT, NOINIT, NAME = N'''+@dbname+''', SKIP, REWIND, NOUNLOAD, COMPRESSION, STATS = 10';
exec (@sql) ;
其次在服务器上将备份内容所在文件夹e:\back 加到FTP服务虚拟目录
然后在客户端使用FTP命令进行 下载。
批处理文件如下:
rem 计划任务,每周天4:00@echo off
call :ftpget /back/db "mydb_%date:~0,4%-%date:~5,2%-%date:~8,2%.bak"
call :ftpget /back/web "wwwroot_%date:~0,4%-%date:~5,2%-%date:~8,2%.rar"
goto :eof
:ftpget
echo open www.zww.cn>ftp.txt
echo username>>ftp.txt
echo password>>ftp.txt
echo lcd d:\download>>ftp.txt
echo binary>>ftp.txt
echo quote PASV>>ftp.txt
echo cd %1>>ftp.txt
echo get %2>>ftp.txt
echo bye>>ftp.txt
ftp -s:ftp.txt
:eof
其中的username和password为FTP服务器的登录账号和密码