В настоящее время я перенаправляю вывод скрипта crontab в файл в какой-то существующей папке, например:
echo "test" > `date "+/tmp/%Y%m%d_%H%M.log"`
Я хочу перенаправить вывод во вложенные папки, которые, возможно, еще не существуют (.../year/month/...
, поэтому должны быть созданы подпапки:
echo "test" > `date "+/tmp/%Y/%m/%d_%H%M.log"`
Как я могу этого добиться?
Просто создайте каталог. В -p
Флаг для mkdir выполняет две задачи:
Так:
mkdir -p $(date "+/tmp/%Y/%m/") && echo "test" > $(date "+/tmp/%Y/%m/%d_%H%M.log")
В следующий раз задавайте подобные вопросы на unix.stackexchange, пожалуйста, здесь это немного оффтоп.
Вам необходимо создать папку (и), используя mkdir -p
команда вроде:
mkdir -p `date "+/tmp/%Y/%m/"`
После этого вы можете безопасно выполнить команду echo.
echo "test" > `date "+/tmp/%Y/%m/%d_%H%M.log"`