node 上传图片 造成linux 缓存区内容过多 怎么解决?

发布于 2022-09-04 02:18:05 字数 622 浏览 17 评论 0

  1. 项目使用node,运行在linux平台上。有一个图片上传的接口,图片上传使用formidable 应为上传的人多了,出现linux(/tmp 目录)过饱和的情况,请求帮助。

  2. 上传图片核心代码:

  var form = new formidable.IncomingForm();
    
    form.parse(req, function(err, fields, files) {
        var fileReadStream = fs.createReadStream(old_path); 
    
        var fileWriteStream = fs.createWriteStream(new_path);
        fileReadStream.pipe(fileWriteStream);
    })

现在的解决办法是linux 定期清理缓存区,我想的是node能定时清理内容。希望能在node上解决。linux不太熟悉,有办法也可以说出来。

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

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

发布评论

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

评论(2

谎言月老 2022-09-11 02:18:05

使用计划任务,注意用户有没有权限删除

# crontab -e

每天凌晨3.30清理/tmp目录下面修改时间在一周之前的文件

30 3 * * * * /usr/bin/find /tmp -mtime +7 -type f -exec rm -rf {} \;

每周星期一和星期四凌晨3.30清理/tmp目录下面有一周没有访问过的文件

30 3 * * * 2,4 /usr/bin/find /tmp -atime +7 -type f -exec rm -rf {} \;

find根据时间戳查找:

    以天为单位(time):
        -atime [+|-] # 访问
        -mtime [+|-] # 修改
        -ctime [+|-] # 表示被改变文件状态的时间
    以分钟为单位(min)
        -min [+|-]
        ...
        

与时间有关的选项,共有-atime,-ctime与-mtime【-atime表示的是访问时间;-ctime表示被改变文件状态的时间;-mtime表示被修改文件内容的时间】,
以-mtime说明

-mtime n:n为数字,意思是在n天之前的【一天之内】被更改过内容的文件;
-mtime +n:列出在n天之前(不含n天本身)被更改过内容的文档名;
-mtime -n:列出在n天之内(含n天本身)被更改过内容的文档名;
一杯敬自由 2022-09-11 02:18:05

你可以把图片写到一个大文件里,每次读取文件的时候从大文件里读。

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