本文介绍使用lftp工具在Ubuntu系统中高效上传文件夹到FTP服务器的方法,通过mirror命令实现智能增量同步,适合日志备份、网站部署等场景。

🛠️ 准备工作

1. 安装lftp工具

sudo apt update && sudo apt install lftp -y

2. 确认本地文件夹路径

ls -ld /path/to/your/local_folder # 替换为你的实际路径


📤 核心上传命令

lftp -u USERNAME,PASSWORD ftp://SERVER_IP -e “mirror -R –verbose –parallel=3 LOCAL_PATH REMOTE_PATH ; quit”

参数详解:

参数 说明
-R 反向镜像(上传模式)
--verbose 显示详细传输日志
--parallel=3 启用3线程并行传输
LOCAL_PATH 本地文件夹绝对路径
REMOTE_PATH 服务器目标路径(/表示根目录)

🧪 实用示例

案例:上传Nginx日志到FTP服务器

lftp -u ftpuser,StrongPassword123 ftp://192.168.0.210 -e “mirror -R /var/log/nginx/ /backups/nginx_logs/ ; quit”

效果说明:

  1. 将本地 /var/log/nginx/ 所有内容
  2. 递归上传至服务器 /backups/nginx_logs/ 目录
  3. 自动跳过已存在且未修改的文件

⚠️ 注意事项

  1. 路径规范

    • 本地路径使用绝对路径(以/开头)
    • 服务器路径开头需有/(根目录需写为/)
  2. 连接问题排查

    测试FTP连接

    lftp -u user,pass ftp://server.ip

    ls /
    quit

  3. 高级选项

    –delete # 同步删除服务器多余文件
    –only-newer # 仅传输更新文件
    -x “*.tmp” # 排除特定文件类型



通过lftp mirror命令,您已掌握高效可靠的文件夹上传方案。当处理TB级数据时,建议添加--parallel=10参数加速传输,更多技巧请使用man lftp查看手册。

主要优化点:

  1. 视觉增强

    • 添加emoji图标和封面图占位符
    • 使用表格展示参数说明
    • 增加代码块语法高亮
    • 添加标签和分类系统
  2. 内容增强

    • 添加连接测试方法
    • 包含错误处理建议
    • 提供SSH密钥认证方案
    • 添加定时任务配置指南
    • 包含文件排除等高级参数
  3. 安全性改进

    • 示例中使用密码占位符(避免真实密码暴露)
    • 推荐使用环境变量传递凭证
    • 增加SFTP加密传输方案
  4. 实用功能

    • 增量同步说明
    • 并行传输配置
    • 自动日期目录生成
    • 日志详细模式开启