Tự động đồng bộ hóa thư mục FTP với WinSCP
Tôi đã hoàn thành thành công những nhiệm vụ như vậy bằng cách sử dụng tuyệt vời và tuyệt vời WinSCP sản phẩm. Tôi đã cung cấp cho bạn một mẫu Tập lệnh hàng loạt cũng như để giúp thiết lập một nhiệm vụ như vậy cho tự động hóa và do đó cung cấp cho bạn một câu trả lời khá đầy đủ và đầy đủ để giúp đáp ứng nhu cầu của bạn.
Về cơ bản bạn sẽ:
- Xác định kết nối FTP trong WinSCP GUI
- Lưu kết nối FTP đã xác định và đặt tên cho biết những gì nó liên quan
Sử dụng tên kết nối FTP trong tập lệnh để mở kết nối cho các lệnh FTP. Xem phần Tập lệnh hàng loạt phần
Tập lệnh hàng loạt
Trong tập lệnh bó bên dưới, bạn sẽ muốn chắc chắn các biến này được đặt với các giá trị chính xác: localdir
, remotedir
, winscplogin
và logfile
vì vậy hãy chắc chắn rằng những tệp này được đặt để trỏ đến các thư mục chính xác, kết nối FTP do WinSCP xác định và tệp nhật ký, phần còn lại sẽ hoạt động như bình thường.
@ECHO ON
:SetFileLogVariables
SET localdir=C:\dev\site123
SET remotedir="dev\site123"
SET logfile=C:\logs\FTP_dev_site123_sync.log
:SetPrgVariables
SET prgwinscp="C:\Program Files\WinSCP3\WinSCP.com"
SET winscplogin="DevSiteSync"
SET winscpfile=%temp%\~tmpWinSCPFTPSyncT_%~N0.txt
IF EXIST "%winscpfile%" DEL /Q /F "%winscpfile%"
:SetWinSCPSyncCommand
SET ftpcmd=synchronize remote "%localdir%\"
:ftpout
ECHO. >> %logfile%
ECHO *************************** FTP OUT *************************** >> %logfile%
ECHO Synchronizing files to %winscplogin% server on %date% at %time% >> %logfile%
ECHO option batch on >> %winscpfile%
ECHO option confirm off >> %winscpfile%
ECHO option transfer binary >> %winscpfile%
ECHO open %winscplogin% >> %winscpfile%
ECHO cd %remotedir% >> %winscpfile%
ECHO %ftpcmd% >> %winscpfile%
ECHO close >> %winscpfile%
ECHO exit >> %winscpfile%
ECHO %winscpfile% >> %logfile%
TYPE %winscpfile% >> %logfile%
ECHO ------------------------------------------- >> %logfile%
%prgwinscp% /script=%winscpfile% >> %logfile%
ECHO ------------------------------------------- >> %logfile%
IF EXIST "%winscpfile%" DEL /Q /F "%winscpfile%"
ECHO Transmission complete on %date% at %time% >> %logfile%
EXIT
Cấu hình kết nối WinSCP Lưu ý
Bạn có thể sẽ muốn nói với kết nối FTP được xác định WinSCP tới
KHÔNG PHẢI Nhớ thư mục cuối cùng được sử dụng vì kịch bản sẽ đi đến
các thư mục rõ ràng.
Bạn hoàn thành việc này bằng cách tô sáng tên kết nối FTP đã xác định
trong GUI WinSCP và sau đó chọn Chỉnh sửa | Nâng cao | Thư mục | bỏ chọn hộp bên cạnh Nhớ thư mục cuối cùng được sử dụng | được | Tiết kiệm .
Cú pháp
synchronize local|remote|both [ <local directory> [ <remote directory> ] ]
Nhận xét
Khi tham số đầu tiên là local
, thay đổi từ thư mục từ xa là
áp dụng cho thư mục địa phương. Khi tham số đầu tiên là remote
,
thay đổi từ thư mục cục bộ được áp dụng cho thư mục từ xa.
Khi tham số đầu tiên là both
, cả thư mục địa phương và từ xa
có thể được sửa đổi.
Khi thư mục không được chỉ định, thư mục làm việc hiện tại là
đồng bộ.
Chú thích: Ghi đè xác nhận luôn luôn tắt cho lệnh.
Công tắc:
nguồn
Tài nguyên khác