Я использовал logrotate для создания файла журнала, который перекатывается каждый день в 03:00; поэтому создается файл имеет следующий формат:Как автоматизировать вызов файла, который создается ежедневно с отметкой даты в имени файла
userlog.%Y-%m-%d
сценарий затем молниеносно файл, а поэтому конечный результат userlog.%Y-%m-%d.gz
.... фактическое имя файла userlog.2015-09-09.gz
.
Я пишу сценарий оболочки, который будет копировать созданный файл каждый день, а затем разархивировать его, запустить поиск в журнале, извлечь результаты, отформатировать их, а затем отправить по электронной почте, а затем удалить скопированный ZIP-файл.
я могу получить все, чтобы работать гладко, но я не могу скопировать файл с помощью метода, который был создан в
Я пытаюсь выполнить следующую команду:.
sudo cp userlog.%Y-%d-%m.gz /home/local/temp
но команда не выполнить. Я понимаю, что текущую дату, месяц и год следует заменить на переменные поля в имени файла.
Если бы вы могли исправить мой подход и понимание этой концепции. Или, пожалуйста, дайте мне знать, если вы считаете, что это должно сработать. Или если есть альтернативный подход к вызову файла, созданного таким образом, то любезно посоветуйте.
В настоящее время мне приходится писать имя файла в скрипт вручную каждое утро, и я очень хотел бы избежать этих трудностей.
К сожалению, это не сработало. Я должен был упомянуть, что я запускаю этот скрипт в Solaris ... не уверен, может ли это повлиять на формат этой команды? – nomi
Нет, даже [Solaris 'date'] (http: // docs.oracle.com/cd/E19253-01/816-5165/6mbb0m9dc/index.html) является на удивление стандартным в этом отношении. Как это не удается? Выводит ли только 'date +% Y-% m-% d' в запросе нужный результат? – tripleee