首先,3可用Windows附屬應用程式=>系統工具=>排定的工作來完成,我們最後設定即可。 1和2則需要寫支DOS batch程式來完成,假設叫做remote_backup_web.bat。底下是該bat檔案的內容
- rem ---------------------------------------------------------------------------
- rem Backup web application to remote host
- rem
- rem $Id: remote_backup_web.bat 2015-09-01 14:24:43Z woff $
- rem ---------------------------------------------------------------------------
- @echo off
- rem Find out web server's IP address
- ipconfig | findstr "IPv4" > ip1.txt
- for /f "tokens=1-2 delims=:" %%i in (ip1.txt) do echo %%j > ip2.txt
- for /f "tokens=1-2 delims= " %%i in (ip2.txt) do (set ip=%%i)
- del ip1.txt
- del ip2.txt
- rem Get today's year, month, day
- for /f "tokens=1-3 delims=/ " %%a in ('date /t') do (set year=%%a& set month=%%b& set day=%%c)
- rem Modify the following line for your environment
- set TARGET=C:\Intel
- set TARGETNAME=serverweb
- set BACKUPDIR=D:\backup
- set BACKUPFILE=%BACKUPDIR%\%year%\%TARGETNAME%_%ip%_%year%%month%%day%.zip
- set LOGFILE=%TARGETNAME%_backup.log
- echo. | date | findstr "現在日期" >> %LOGFILE%
- echo. | time | findstr "現在時間" >> %LOGFILE%
- rem Compress the target directory before ftp
- winrar A %BACKUPFILE% %TARGET%
- if not exist %BACKUPDIR%\%year% mkdir %BACKUPDIR%\%year%
- if not exist %BACKUPFILE% goto nofile
- goto ftpsession
- :nofile
- echo [FAILURE] can't find %BACKUPFILE% >> %LOGFILE%
- echo.>> %LOGFILE%
- goto end
- :ftpsession
- for /f "tokens=1-3 delims= " %%i in (ftp.cfg) do (set FTPSERVER=%%i&set USERNAME=%%j&set PASSWORD=%%k)
- echo open %FTPSERVER% > ftpscript.txt
- echo user %USERNAME% %PASSWORD% >> ftpscript.txt
- echo cd letsgoapp >> ftpscript.txt
- echo bi >> ftpscript.txt
- echo put %BACKUPFILE% >> ftpscript.txt
- echo bye >> ftpscript.txt
- echo ---=== ftp session begins ===--->> %LOGFILE%
- echo ftp %BACKUPFILE% to %FTPSERVER% >> %LOGFILE%
- ftp -i -n < ftpscript.txt >> %LOGFILE%
- echo ---=== ftp session ends ===--->> %LOGFILE%
- echo. |time | findstr "現在時間">> %LOGFILE%
- echo.>> %LOGFILE%
- del ftpscript.txt
- set TARGET=
- set TARGETNAME=
- set BACKUPDIR=
- set BACKUPFILE=
- set LOGFILE=
- set FTPSERVER=
- set USERNAME=
- set PASSWORD=
- :end
複製代碼發行之免費軟體)並非Windows內建的指令,請由本站下載,放到C:\Windows目錄下
Windows內建的FTP指令說明可以透過執行ftp --usage指令得到:
- ftp --usage
- Transfers files to and from a computer running an FTP server service
- (sometimes called a daemon). Ftp can be used interactively.
- FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-w:windowsize] [-A] [host]
- -v Suppresses display of remote server responses.
- -n Suppresses auto-login upon initial connection.
- -i Turns off interactive prompting during multiple file
- transfers.
- -d Enables debugging.
- -g Disables filename globbing (see GLOB command).
- -s:filename Specifies a text file containing FTP commands; the
- commands will automatically run after FTP starts.
- -a Use any local interface when binding data connection.
- -A login as anonymous.
- -w:buffersize Overrides the default transfer buffer size of 4096.
- host Specifies the host name or IP address of the remote
- host to connect to.
- Notes:
- - mget and mput commands take y/n/q for yes/no/quit.
- - Use Control-C to abort commands.
複製代碼
另外我把ftp的參數檔存放在ftp.cfg,內容如下
- remotehost username password
複製代碼remotehost:請改成您的遠端主機IP(需有啟動FTP Server)
執行完會在執行目錄下產生一個logfile,可供debug用。
最後,遠端伺服器需先建立好對應的帳號及密碼,如有修改請記得回來改ftp.cfg
|