Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
wuqingwei
V2EX  ›  Linux

Linux FTP 服务器可以监测上传文件完成,并自动对文件操作吗?

  •  
  •   wuqingwei · May 20, 2019 · 6727 views
    This topic created in 2733 days ago, the information mentioned may be changed or developed.
    linux 服务器,目前是 Centos,做 FTP 服务器,目前使用的是 vsftpd,想实现如下功能,自动监测 FTP 服务,如果有客户端上传文件完成,就对文件进行某个操作(具体什么操作不重要),这样的功能用什么方式实现较好,先谢过。
    20 replies  •  2019-05-21 09:36:54 +08:00
    ebingtel
    ebingtel
    May 20, 2019
    1
    问题来了 怎么判断用户上传完了? NOW() - LAST_MODIFIED_TIME() > INTERVAL?
    liwl
    liwl
    May 20, 2019❤️1
    2
    inotify?
    AlisaDestiny
    AlisaDestiny
    May 20, 2019
    3
    你这个用现成的软件恐怕不好做,你可以看下你会的语言的 ftp 协议库,定制一个。
    bbvps
    bbvps
    May 20, 2019
    4
    bash 脚本,死循环,每秒检测一下。
    bbvps
    bbvps
    May 20, 2019
    5
    其他的方法都太难,这个最简单。
    jasamboro
    jasamboro
    May 20, 2019
    6
    具体什么操作不重要
    判断用户上传完成-->自动删除
    wuqingwei
    wuqingwei
    OP
    May 20, 2019
    7
    @liwl 研究下。
    lithiumii
    lithiumii
    May 20, 2019
    8
    Microsoft Flow 有个对接 FTP 的服务,可以在发现文件修改后进行操作
    但我猜他就是定时去看一看你文件改过了没有。
    clino
    clino
    May 20, 2019
    10
    让用户同时上传一个文件的元信息文件用来校验
    ethsol
    ethsol
    May 20, 2019
    11
    同时上传一个包含 md5 值的文件,操作的脚步循环校验
    lkan
    lkan
    May 20, 2019 via iPhone
    12
    python 的 ftp 库适合你 简单易用
    0ZXYDDu796nVCFxq
    0ZXYDDu796nVCFxq
    May 20, 2019 via Android
    13
    不依赖外部手段无法实现
    1.以前玩 0day 的时候,FTP 用 sfv(Simple File Verification)文件来校验文件完整性
    2.有些 FTP 客户端的实现是用临时文件,传输完成后用 FTP 的 rename 命令重命名
    xnode
    xnode
    May 20, 2019
    15
    可能需要双端比对 MD5
    sagaxu
    sagaxu
    May 20, 2019 via Android
    16
    proftpd 有这个功能
    chcx
    chcx
    May 20, 2019
    17
    inotify 就可以
    lieh222
    lieh222
    May 20, 2019
    18
    写个端口转发 映射 ftp 服务器控制端口,监控控制信令,如果上传命令完成就可以认为是上传成功了
    ps1aniuge
    ps1aniuge
    May 20, 2019
    19
    1 ftp,http,上传文件,下载文件,是不可靠的。
    2 ftp,http,上传文件,下载文件,完成通知,也是是不可靠的。
    3 经常会有上传下载完成了。但是文件只有 99%相同。
    4 所以人家才会发明 sfv,校验码等。
    5 只有带校验码,并再读一遍。才可靠。如 bt,rsync。
    wuqingwei
    wuqingwei
    OP
    May 21, 2019
    20
    inotify 确实是个好东西。

    本来想使用 @mattx 脚本的方式实现,发现没有那么简单,因为后续需要对文件的操作涉及到的东西较多。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2487 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 11:48 · PVG 19:48 · LAX 03:48 · JFK 06:48
    ♥ Do have faith in what you're doing.