Как удалить все старые файлы в каталоге, используя node js - PullRequest
0 голосов
/ 05 апреля 2020

У меня есть каталог с файлами.

Я хочу удалить (zip) файлы, которые были созданы до 7 дней go.

Я хотел бы запускать этот скрипт каждый день.

Я могу получить все файлы в каталоге, используя:

  fs.readdirSync('/data/mongodump/').forEach(file => {
    console.log(file);
  });

Но я не знаю, как сравнивать (получать) даты, тогда я могу позвонить unlink.

Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 05 апреля 2020

Вы можете FS.statsSync() собственный API, где ctime - время последнего изменения, но вы также можете использовать birthtime для даты создания.

Документация: https://nodejs.org/api/fs.html#fs_fs_stat_path_options_callback

fs.readdirSync('/data/mongodump/').forEach(file => {
  const isOlder = fs.statSync(`/data/mongodump/${file}`).ctime < Date.now() - 604800000 // 604800000 = 7 * 24 * 60 * 60 * 1000

  if (isOlder) {
    fs.unlinkSync(`/data/mongodump/${file}`)
  } 

})

Лучи,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...