Использовать открытый/закрытый ключ.
Это много раз описано в Интернете, так что я не думаю, что полезно повторять это снова подробно.
Краткое описание того, что делать:
ssh-keygen
)ssh-copy-id root@your_server
)Теперь только эти два клиента и пользователи вышеуказанных команд имеют root-доступ к серверу, и, кроме того, пароль больше не требуется.
Возможно, это является хорошей отправной точкой для начала (шагов #1 и #2)
Это можно сделать с помощью динамического шаблона файла. Используйте заменитель свойства , чтобы выбрать части свойства %timestamp%
, в частности параметры date-day
и date-hour
, а также символы с 1 по 3 из date-rfc3164
(, которая представляет собой строку типа «Окт 9 09 :47 :08" ). Обычно в примерах шаблон называетсяDynFile
:
$template DynFile,"/var/log/mail_logs/%timestamp:1:3:date-rfc3164%/%timestamp:::date-day%/%timestamp:::date-hour%.log"
Чтобы использовать шаблон, замените ...then -/var/log/mail_logs/amp.log
на...then -?DynFile
Если вы хотите заменить месяц из 3 -букв (январь, февраль,... )на месяц из 2 -цифр для упрощения работы, используйте вместо этого
$template DynFile,"/var/log/mail_logs/%timestamp:::date-month%/%timestamp:::date-day%/%timestamp:::date-hour%.log
Предполагая, что ваши строки журнала также -сформированы, как предполагает фрагмент, это было бы началом:
awk '{
dir=$1 "/" $2; log_file=dir "/" substr($3, 1, 2) ".log"
if (!exists[dir]++) {system("mkdir -p " dir)};
print > log_file
}' amp.log
Вы должны выполнить это в /var/log/mail_logs/
.
Вызов system
внешней команды mkdir
создает конкретный каталог даты -, если он не существует. Передача -p
приводит к тому, что родители создаются по мере необходимости (, поэтому каталог Oct
создается, когда mkdir -p /Oct/01
впервые запускает October ). Кроме того, -p
гарантирует, что mkdir
не сообщит об ошибке, если каталог уже существует.
Вызов print
записывает строки журнала в файл, имя которого создается из компонентов времени журнала. Каждый новый файл журнала создается при первой записи и дополняется в течение времени существования команды.
Вы можете изменить print >
на print >>
, если хотите, чтобы файл журнала на основе даты и времени -из предыдущего awk
запуска был добавлен, а не перезаписан.