使用FTP远程定时备份

2022-1-7 10:47:37 [大杂烩 - PC与手机]

服务器的数据备份方法很多,这里使用简单的系统命令来进行远程定时备份。


首先在服务器上将要备份的文件和文件夹打包


***************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 是不需备份的文件列表


****************DB 备份
--维护计划,每天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服务器的登录账号和密码