首页 > 解决方案 > NodeJS:始终在文件夹中保留 30 个最新文件,删除其余文件?

问题描述

我正在尝试将一些备份保存在文件夹中。我想随时备份 30 个 JSON,每小时添加一次 JSON。如果文件夹中的文件数 > 30,我想删除旧文件。这可能与nodejs吗?

这是我到目前为止所得到的:

ipcMain.on("BACKUP_TO_DISK", function(event, arg) {    
    var date = new Date();
    var json = JSON.stringify(arg);
    fs.writeFile("./backup/" + date.yyyymmddhh()+ "_" + arg.prefix + "_backup.json", json, "utf8", function() {
      console.log("Successfully Saved.");
    });
  });

它是从我的 React 应用程序中调用的,如下所示:

this.interval = setInterval(() => {
      var data = this.props.data.get("data");
      var prefix = this.props.preferences.get("savePrefix");
      var counter = this.props.data.get("counter");
      var path = this.props.preferences.get("path");

      console.log("BACK")
      this.props.backupToDisk(data, prefix, counter, path);  
    }, 60000 * 30 ); //every half an hour

标签: javascriptnode.js

解决方案


是的,您可以使用文件系统来做到这一点。这两个应该足以构建这样的东西: https://www.w3schools.com/nodejs/nodejs_filesystem.asp 你如何获得 Node.js 目录中存在的所有文件的名称列表?


推荐阅读