nodejs如何实现监听FTP服务器上的文件变更?

发布于 2022-09-12 03:21:06 字数 825 浏览 20 评论 0

想实现一个功能,通过本地运行nodejs,便能连接登录远程的FTP服务器,并监听其文件的变更。

let ftp = require('ftp');
let watch = require('watch');
let config = reuqire('./config');
let ftpServer = new ftp();

main();

async function main () {
    await connectFtp();
    createMonitor();
}

// 连接FTP服务器
function connectFtp () {
    ftpServer.connect({
        host: config.ftpHost,
        user: config.ftpUser,
        password: config.ftpPassword
    });

    return new Promise(resolve => {
        ftpServer.on('ready', resolve);
    });
}

// 监听FTP文件上的变更
function createMonitor () {
   watch.createMonitor(config.ftpFilePath, monitor => {
        monitor.on('changed', () => {
            console.log('文件变更');
        });
    });
}

由于没有测试环境,不知这段代码能否正常运行,效果是否符合预期。
另外如何才能监听多个文件(排除这种方案:监听共同路径,再过滤文件)。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

栀梦 2022-09-19 03:21:06

直接监听的方案不可行,最终解决方案为连接FTP服务,通过对比文件的修改时间判断是否变更

眼前雾蒙蒙 2022-09-19 03:21:06

自己开个虚拟机,跑ftp服务;监听多个文件,可以利用现成的npm包如watchr之类。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文