FileZilla,WinSCP,ftp自动化上传或下载脚本教程
由于工作需要,网站数据在一个ftp中,定期手动备份,比较容易遗忘,手边有WIN电脑和linux电脑,第一时间想到的就是在centos7.9中写一个定时任务,使用lftp或wget协议把ftp上文件全部复制到本地路径中即可,尝试过后发现不论lftp还是wget都会出现下载到本地路径的文件缺少的情况,网站不大一共不到2千个文件,每次都少,无法全部下载下来,不清楚是网络的原因还是其他原因。
必须使用ftp客户端,会校验所有文件断点续传等保障,每次都是全部下载,没有缺失的情况,由于电脑里就有FileZilla,使用体验也非常好,查到有FileZilla Pro CLI版可以使用命令进行上传下载,但是查遍全网也没有找到这个安装包,官网只有付费才能下载,放弃的同时发现另外一款WinSCP也是非常不错的ftp工具,马上查资料下载,写脚本,现在就分享出来,脚本写.bat文件中,加入到win系统的任务计划程序中设置每天或每周自动执行。
@echo off
REM 关闭命令行窗口的回显
set FTP_HOST=192.168.0.96
REM FTP的IP地址或域名
set FTP_USER=administrator
REM 用户名set FTP_PASSWORD=111111
REM 密码
set FTP_REMOTE_PATH=/
REM 设置FTP上要下载的路径
set LOCAL_PATH=Z:\wwwroot\*
REM 设置本地文件夹的路径,*表示下载所有文件
set UPLOAD_PATH=D:\FTEST
REM 设置本地上传的文件路径
set REMOTE_UPLOAD_PATH=/FTEST
REM 设置FTP服务器上传到的远程目录
(
echo option batch abort
echo option confirm off
echo open ftp://%FTP_USER%:%FTP_PASSWORD%@%FTP_HOST%
echo put %UPLOAD_PATH%* %REMOTE_UPLOAD_PATH%
echo get %FTP_REMOTE_PATH%* %LOCAL_PATH%
echo exit
) | "C:\Program Files (x86)\WinSCP\WinSCP.com" /command /log=Z:\wwwroot\winscp.log
REM 使用WinSCP软件连接FTP服务器,先"put" 命令上传指定路径文件后,再 "get" 命令,下载 FTP 服务器根目录的所有文件,同时将日志记录到指定文件中
pause
REM 暂停脚本的执行,等待用户按下任意键才会退出
安装附件WinSCP安装包,修改.bat中的ftp域名,用户名,密码,本地路径,FTP远端路径,根据自己是要上传还是要下载,删除上传put或下载get这两行代码即可
本文链接:https://www.kinber.cn/post/4304.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝: