Вот моя проблема высокого уровня.
Я хочу прочитать число max_age_in_secs
из файла конфигурации. Это число представляет количество секунд, которое мы считаем файлом "старым". После того, как мы прочитаем этот конфиг, мы хотим найти все файлы в каталоге data
и удалить все файлы, измененные ранее max_age_in_secs
секунд назад.
Это должно быть сделано в виде сценария оболочки, а точнее оболочки korn.
Сейчас я делаю прикосновение к фиктивному файлу, который нужно изменить max_age_in_secs
назад, а затем find
и его опции ! -newer
для поиска файлов старше этого *.
У меня проблема с получением метки времени для передачи на touch
. Команда date
на моем unix-боксе не имеет опции --date
, поэтому я не могу ее использовать.
Я смотрю на perl -e "blah_blah_blah"
, но мне нужно передать переменную max_age_in_secs
команде perl. Единственный известный мне способ сделать это - создать новый файл .pl
и передать в него аргументы. Но в идеале я хотел бы иметь эту функциональность в одном файле сценария korn. Обходной путь может заключаться в создании переменной perl_command
и выполнении ее содержимого, но я думаю, что это небезопасно и уязвимо для инъекций.
Но я относительно новичок в сценариях оболочки и Perl, поэтому любая помощь приветствуется.