每天上班第一件事就是连上公司的FTP服务器,下载最新的订单数据,再把昨天的报表上传到指定目录。做一次还好,做十次八次就烦了。其实,很多FTP客户端早就支持脚本自动化,只要设置一次,以后点个按钮甚至完全不用管,任务就能自动完成。
哪些FTP客户端支持脚本?
常见的FTP工具里,FileZilla、WinSCP、LFTP、Cyberduck 都不同程度支持脚本或命令行操作。其中 WinSCP 和 LFTP 在自动化方面尤其强大,适合写脚本批量处理文件。
比如你在做网站维护,每次都要把本地更新的HTML文件传到服务器。用WinSCP,可以写一个脚本自动登录、同步文件、然后退出,全程不需要手动点下一步。
用WinSCP写一个简单的上传脚本
先在WinSCP中保存会话,然后新建一个文本文件,改成 .txt 或 .script 后缀都可以。下面是一个基础示例:
option batch abort
option confirm off
open ftp://username:password@192.168.1.100/
put C:\work\*.html /public_html/
close
exit
把这个脚本保存为 upload.script,然后用命令行运行:
"C:\Program Files (x86)\WinSCP\WinSCP.com" /script=upload.script
你还可以把这个命令写进Windows的批处理文件(.bat),双击就执行,或者用任务计划程序定时跑,比如每天早上8点自动同步一次。
LFTP更像极客的选择
如果你用的是Linux或者Mac,LFTP几乎是首选。它支持FTP、SFTP、FTPS,还能断点续传、镜像目录。写个脚本自动从远程服务器拉取日志文件特别方便。
比如这个脚本会登录服务器,进入日志目录,下载所有 .log 文件:
#!/bin/bash
lftp -c "
open ftp://user:pass@logs.example.com;
cd /daily;
mget *.log;
bye
"
配合cron定时任务,凌晨3点自动下载前一天的日志,早上来公司直接分析就行,不用等文件慢慢传。
实际场景:电商库存同步
有个朋友做跨境电商,供应商每天通过FTP发新库存表。他以前都是手动下载、重命名、放进指定文件夹,再导入系统。后来写了段脚本,连接FTP、下载最新文件、按日期重命名、移动到监控目录,整个过程10秒搞定。现在他每天多睡十分钟,还不怕漏文件。
脚本不一定要复杂,哪怕只是把重复点击的步骤变成几行命令,长期下来省的时间都够看几部电影了。
安全提醒别忽视
脚本里写密码虽然方便,但也有风险。建议优先使用密钥认证,或者把敏感信息存在配置文件里,权限设成仅自己可读。特别是共享电脑或多用户环境,别让别人顺手就把你的FTP账号拿走了。
现在很多企业也开始用API替代FTP,但现实中还有大量系统依赖老式文件交换。掌握脚本自动化,等于给旧流程装了个涡轮增压。工具就在那儿,关键是你愿不愿意花半小时写几行代码,换之后几百小时的轻松。