Maison > interface Web > Questions et réponses frontales > Le fichier nodejs+ supprime régulièrement des fichiers

Le fichier nodejs+ supprime régulièrement des fichiers

WBOY
Libérer: 2023-05-17 11:01:07
original
793 Les gens l'ont consulté

Avec l'avènement d'Internet et de l'ère numérique, les fichiers sont de plus en plus fréquemment utilisés. La gestion des dossiers devient donc de plus en plus importante. Pour certains fichiers inutiles ou expirés, nous devons les nettoyer régulièrement pour libérer de l'espace disque et améliorer l'efficacité du système. Dans Nodejs, nous pouvons facilement utiliser des tâches planifiées pour supprimer des fichiers.

1. Aperçu des tâches planifiées

Dans Nodejs, nous pouvons créer des tâches planifiées en utilisant la bibliothèque tierce node-schedule. node-schedule est une bibliothèque qui vous permet de planifier facilement des tâches planifiées. Elle fournit la fonction d'exécuter des tâches à une heure ou un intervalle spécifié. node-schedule来创建定时任务。node-schedule是一个可以让你轻松安排定时任务的库,它提供了在指定时间或间隔内执行任务的功能。

二、利用node-schedule删除文件

首先我们需要安装node-schedule库,我们可以在终端执行以下命令:

npm install node-schedule
Copier après la connexion

接下来我们可以创建一个node.js的文件,比如delete_files.js。在这个文件里,我们可以:

  1. 引入node-schedule库:
const schedule = require('node-schedule');
Copier après la connexion
  1. 创建一个删除文件的函数:
function deleteFile(filePath) {
   fs.unlink(filePath, (err) => {
       if (err) throw err;
       console.log(`${filePath}删除成功`);
   });
}
Copier après la connexion
  1. 在定时任务中调用我们的删除函数:
const job = schedule.scheduleJob('0 0 * * *', function() { 
   // 在每天的0点执行删除任务
   const filePath = './path/to/file'; // 文件路径
   deleteFile(filePath); 
});
Copier après la connexion

其中,scheduleJob

2. Utilisez node-schedule pour supprimer des fichiers
  1. Nous devons d'abord installer la bibliothèque node-schedule Nous pouvons exécuter la commande suivante dans le terminal :
  2. node delete_files.js
    Copier après la connexion
    .
Ensuite, nous pouvons créer un fichier node.js, tel que delete_files.js. Dans ce fichier, on peut :

    Introduire la bibliothèque node-schedule :

    function deleteFolderFiles(folderPath) {
       fs.readdir(folderPath, (err, files) => {
           if (err) throw err;
    
           for (const file of files) {
               const filePath = path.join(folderPath, file);
               fs.unlink(filePath, (err) => {
                   if (err) throw err;
                   console.log(`${filePath}删除成功`);
               });
           }
       });
    }
    Copier après la connexion

      Créer une fonction pour supprimer des fichiers :

      const job = schedule.scheduleJob('0 0 * * *', function() { 
         // 在每天的0点执行删除任务
         const folderPath = './path/to/folder'; // 文件夹路径
         deleteFolderFiles(folderPath); 
      });
      Copier après la connexion

        Appelez notre fonction delete dans la tâche planifiée :

        const schedule = require('node-schedule');
        const fs = require('fs');
        const path = require('path');
        
        // 删除单个文件
        function deleteFile(filePath) {
           fs.unlink(filePath, (err) => {
               if (err) throw err;
               console.log(`${filePath}删除成功`);
           });
        }
        
        // 删除文件夹内所有文件
        function deleteFolderFiles(folderPath) {
           fs.readdir(folderPath, (err, files) => {
               if (err) throw err;
        
               for (const file of files) {
                   const filePath = path.join(folderPath, file);
                   fs.unlink(filePath, (err) => {
                       if (err) throw err;
                       console.log(`${filePath}删除成功`);
                   });
               }
           });
        }
        
        // 删除单个文件定时任务
        const job1 = schedule.scheduleJob('0 0 * * *', function() { 
           // 在每天的0点执行删除任务
           const filePath = './path/to/file'; // 文件路径
           deleteFile(filePath); 
        });
        
        // 删除文件夹内所有文件定时任务
        const job2 = schedule.scheduleJob('0 0 * * *', function() { 
           // 在每天的0点执行删除任务
           const folderPath = './path/to/folder'; // 文件夹路径
           deleteFolderFiles(folderPath); 
        });
        Copier après la connexion

        Parmi eux, le premier paramètre de la fonction scheduleJob est une expression cron de type chaîne, composée de cinq espaces Composé d'unités de temps séparées, représentant les minutes, les heures, les dates, les mois et les jours de la semaine.

        🎜🎜Enfin, nous pouvons saisir la commande suivante dans la ligne de commande pour exécuter notre tâche de suppression planifiée : 🎜🎜rrreee🎜 3. Suppression de tous les fichiers du dossier 🎜🎜 Si nous devons supprimer tous les fichiers d'un dossier, nous Cela peut également être réalisé en créant une fonction. Comme indiqué ci-dessous : 🎜rrreee🎜 Dans la tâche planifiée, nous pouvons utiliser cette fonction pour effectuer l'opération de suppression : 🎜rrreee🎜 4. Implémentation complète du code 🎜🎜Ce qui suit est le code qui intègre la suppression de fichiers et la suppression de tous les fichiers du dossier Exemple : 🎜rrreee🎜Grâce à des tâches planifiées, nous pouvons facilement supprimer certains fichiers inutiles ou expirés, libérer de l'espace disque et améliorer l'efficacité du système. Dans le même temps, nous pouvons également créer différentes tâches planifiées en fonction de différents besoins pour affiner la gestion de notre système. 🎜

        Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal