Windows平台: - 批处理脚本 + Windows任务计划程序 - PowerShell脚本
示例批处理脚本:
@echo off
ftp -s:ftp_commands.txt
ftp_commands.txt内容:
open ftp.example.com
username
password
binary
cd /remote/path
lcd C:\local\path
mput *.txt
quit
Linux/Unix平台: - Shell脚本 + cron定时任务 - 使用lftp工具(更强大的FTP客户端)
示例bash脚本:
#!/bin/bash
HOST='ftp.example.com'
USER='username'
PASS='password'
FTPURL="ftp://$USER:$PASS@$HOST"
LCD="/local/path"
RCD="/remote/path"
lftp -c "
set ftp:ssl-allow no;
open '$FTPURL';
lcd $LCD;
cd $RCD;
mirror --reverse --delete --verbose;
quit
"
使用Python等编程语言通过FTP库实现复杂逻辑:
from ftplib import FTP
import schedule
import time
def job():
ftp = FTP('ftp.example.com')
ftp.login('user', 'password')
ftp.cwd('/remote/path')
with open('local_file.txt', 'rb') as f:
ftp.storbinary('STOR remote_file.txt', f)
ftp.quit()
# 每天凌晨1点执行
schedule.every().day.at("01:00").do(job)
while True:
schedule.run_pending()
time.sleep(1)
您需要针对哪种具体场景的自动化?我可以提供更详细的实现方案。