2017-01-28 12 views
1

У меня есть файл свойств, который читается несколько раз в день внешним приложением, чтобы обрабатывать некоторые файлы. Одно из свойств сообщает приложению, где хранятся обработанные файлы. Приложение работает в Linux.Как добавить текущую дату в значение файла свойств каждый день в Unix?

success_path=/u02/oapp/success 

Проблема заключается в том, что каждый день несколько файлов выбрасываются в этом пути, и через несколько месяцев, я бы тысячи файлов в этой плоскости папке.

Вопрос: Как я могу добавить текущую дату в этом файле свойств, так это будет выглядеть так:

success_path=/u02/oapp/success/dd-MMM-yyyy 

Это будет обновляться каждый день в 12:00 утра, так, например, сегодня было бы

success_path=/u02/oapp/success/28-JAN-2017 

файл /u02/oapp/configuration/oapp.properties

заранее спасибо

+0

Изменяет ли файл свойств единственный способ достичь этого? Использование файла конфигурации как своего рода часы кажется немного взломанным, хотя то, что вы хотите, в противном случае не очень сложно. – Fred

+0

Другой способ - изменить код, который был написан бывшим продавцом, и я не хочу выяснять, как много вещей сломается на меня, меняя его, поскольку у меня мало времени потратить на это. Это не настоящее требование, это облегчит мне жизнь. Как я могу достичь этого с помощью crontab? –

ответ

0

Вместо добавления текущей даты в собственность, добавить дополнительную логику в код, который хранит обработанные файлы, так что:

  • это занимает базовый каталог из файла свойств (success_path в вашем случае)
  • создает год/месяц/день каталог для хранения файлов

Что-то вроде:

/u02/oapp/success/year/month/day (as in `/u02/oapp/success/2017/01/01`) 
or 
/u02/oapp/success/yearmonth/day (as in `/u02/oapp/success/201701/01`) 
or 
/u02/oapp/success/yearmonthday (as in `/u02/oapp/success/20170101`) 

Если у вас нет крышки возможность изменить поведение приложения, вам может потребоваться написать задание cron, которое периодически перемещает файлы, внешние по отношению к приложению.

+0

Спасибо за предложение, но я бы хотел не касаться кода. Это просто башня-дженга, и я не удивлюсь, что это сломает много других вещей. Итак, любая идея, как это сделать с работой cron? –