Извлечение и форматирование данных из файла AUTH.LOG с помощью BASH.Linux

Ответить
Anonymous
 Извлечение и форматирование данных из файла AUTH.LOG с помощью BASH.

Сообщение Anonymous »

Мне нужно извлечь данные авторизации из файла auth.log. Мне также нужно отформатировать эти данные, чтобы их было легко просматривать. В моем случае это несколько столбцов: Дата Время IP действия пользователя.
У меня уже есть часть кода, точнее, я могу получить данные за последние 3 часа. , но у меня проблемы с форматированием.
Буду очень благодарен за помощь!
#!/bin/bash

LOG_FILE="/var/log/auth.log"
OUTPUT_FILE="/home/phantaserrr/Script/auth_log_report.txt"

current_time=$(date +%s)
time_threshold=$((current_time - 3 * 3600))

time_threshold_formatted=$(date -d @$time_threshold +"%Y-%m-%dT%H:%M:%S")

awk -v threshold="$time_threshold_formatted" '
/polkitd|gdm-launch-environment/ {

split($1, date, "T");
split(date[1], ymd, "-");
split($2, time, "+");

user = $5;
action = $0;

if (match($0, /rhost=([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/, arr)) {
ip = arr[1];
} else {
ip = "unknown";
}

if (action ~ /session opened/ || action ~ /session closed/ || action ~ /logged out/) {
# Clean up action string
sub(/\[.*\] /, "", action);
print ymd[1] "-" ymd[2] "-" ymd[3], time[1], user, action, ip;
}
}
' "$LOG_FILE" > "$OUTPUT_FILE"

Когда я пытаюсь выполнить этот скрипт, я получаю следующие ошибки
awk: line 11: syntax error at or near ,
awk: line 13: syntax error at or near else
awk: line 17: syntax error at or near if
awk: line 22: syntax error at or near }

Вот пример формата файла журнала
2024-08-03T16:31:12.232218+03:00 phantaserrr-VM gnome-keyring-daemon[2015]: The PKCS#11 component was already initialized
2024-08-03T16:31:12.233818+03:00 phantaserrr-VM gnome-keyring-daemon[2225]: discover_other_daemon: 1
2024-08-03T16:31:12.250473+03:00 phantaserrr-VM gnome-keyring-daemon[2227]: discover_other_daemon: 1
2024-08-03T16:31:12.250567+03:00 phantaserrr-VM gnome-keyring-daemon[2015]: The Secret Service was already initialized
2024-08-03T16:31:12.251861+03:00 phantaserrr-VM gnome-keyring-daemon[2230]: discover_other_daemon: 1
2024-08-03T16:31:16.130923+03:00 phantaserrr-VM polkitd[730]: Registered Authentication Agent for unix-session:2 (system bus name :1.79 [/usr/bin/gnome-shell], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8)
2024-08-03T16:31:17.631108+03:00 phantaserrr-VM gdm-launch-environment]: pam_unix(gdm-launch-environment:session): session closed for user gdm


Подробнее здесь: https://stackoverflow.com/questions/788 ... using-bash
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»