项目使用node,运行在linux平台上。有一个图片上传的接口,图片上传使用formidable 应为上传的人多了,出现linux(/tmp 目录)过饱和的情况,请求帮助。
上传图片核心代码:
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不太熟悉,有办法也可以说出来。
使用排程任務,注意使用者有沒有權限刪除
每天凌晨3.30清理
/tmp
目錄下面修改
時間在一週之前的檔案每週星期一和星期四凌晨3.30清理
/tmp
目錄下面有一週沒有访问
過的檔案find依時間戳記找出:
與時間有關的選項,共有-atime,-ctime與-mtime【-atime表示的是存取時間;-ctime表示被改變檔案狀態的時間;-mtime表示被修改檔案內容的時間】,
以-mtime說明
你可以把圖片寫到一個大文件裡,每次讀取文件的時候從大文件裡讀。