Удалите старые файлы резервных копий в инструменте Pentaho etl - PullRequest
0 голосов
/ 11 июня 2019

Я хочу знать, как удалять файлы на основе даты создания, используя работу чайника.У меня есть папка журналов, которая содержит файлы журналов за последние четыре года.Но я хочу сохранить только журналы прошлой недели.Задание должно удалять все файлы журнала, возраст которых превышает один месяц.В работе в Пентахо есть опция удаления файла.Но как мы можем получить дату создания файла и соответственно удалить файлы.

Шаг за шагом я использовал для создания чайника:

  1. Получить имя файла
  2. Получить системуinfo
  3. Добавить константы
  4. Поиск в базе данных: здесь я использую postgresql, он ищет поле entity_name и attribute_name из базы данных, а дата вставляется в базу данных с помощью этого поиска в базе данных.
  5. Выберите значения:
  6. Калькулятор
  7. Фильтр строк
  8. Задание файлов в результате
  9. Обработка файлов с возможностью удаления.

Я хочу спросить, что у меня есть имя файла, например: abcd_2018_06_05.backup.Мне нужно использовать регулярное выражение с жестким ядром, чтобы определить указанное выше имя файла. Может ли кто-нибудь помочь мне определить его так, чтобы оно могло принимать правильное значение (имя_файла, len (имя_файла) -7).

Я знаю, как это можно сделатьв запросе SQL, но в Пентахо я не знаю.

1 Ответ

1 голос
/ 11 июня 2019

Шаг получения имен файлов также возвращает последнюю измененную временную метку. Разве вы не можете использовать это вместо этого?

Примерно так:

Получить имена файлов -> получить информацию о системе (чтобы получить текущую дату) -> калькулятор (вычесть 7 дней из текущей даты -> отфильтровать строки (пропустить только файлы старше 7 дней) -> обработать файлы: удалить (удалить старые файлы .

В качестве альтернативы, используя шаг регулярного выражения, вы можете проанализировать имя файла и затем отфильтровать строки.

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