自動FTP到備份伺服器上(windows環境版本)




今天任務是要把自動備份好的檔案,以自動FTP的方式傳到專用的備份主機上

網路上查到的方式大部分是先把FTP語法寫好成為一個TXT檔案

然後使用 ftp -s:TXT檔案名 -n

但是讓我頭痛的是這次要備份的檔案是用每天日期來命名跟備份的。。。

所以想到先製作成一個FTP語法的腳本

然後再執行FTP就可以了

把下面內容修改下存成.bat檔案,然後用下排程就可以做到了。

@echo off

::FTP連線資訊
set server=IP
set username=FTP帳號
set password=FTP密碼

::FTP連線資訊儲存檔名稱
set ftp_upload_connect=ftp_upload_connect.txt

::取得當日時間
set YYYY=%date:~0,4%
set MM=%date:~5,2%
set DD=%date:~8,2%

::檔案格式
set FileFolder= local_backup_folder_name(目錄名稱)
set File=%YYYY%-%MM%-%DD%.backup(檔案名稱)

::來源
set source= %FileFolder%/%File%
::目的
set purpose= / (目標FTP SERVER上的路徑)

:Filestart
echo open %server%>>%ftp_upload_connect%
echo user %username%>>%ftp_upload_connect%
echo %password%>>%ftp_upload_connect%
echo prompt>>%ftp_upload_connect%
echo cd %purpose%>>%ftp_upload_connect%
echo mput %source%>>%ftp_upload_connect%
echo bye>>%ftp_upload_connect%

::執行FTP連線
ftp -s:%ftp_upload_connect% -n

::刪除FTP連線資訊儲存檔
del %ftp_upload_connect% /Q