Create a Log File in PowerShell Script

Configurare noua (How To)

Situatie

This script can be useful for network administrators or system administrators who need to analyze log files and get an overview of how much time a particular user or IP address has spent connected to the system. To make this task easier, we can use a shell script to automate the process of extracting this information from a log file.

Solutie

Pasi de urmat
#!/bin/bash

# Define the log file to be analyzed
log_file="/path/to/logfile.log"

# Define the output file for the report
output_file="/path/to/report.txt"

# Initialize a variable to store the cumulative connection time
connection_time=0

# Get a list of unique months and years from the log file
months_years=$(grep -oE "[A-Za-z]{3} [0-9]{4}" "$log_file" | sort | uniq)

# Loop through each month and year
for month_year in $months_years; do
    # Extract the number of minutes for the current month and year
    minutes=$(grep "$month_year" "$log_file" | awk '{print $2}' | cut -d ':' -f 2 | paste -sd+ - | bc)


    # Add the minutes to the cumulative connection time
    connection_time=$((connection_time + minutes))


    # Output the result to the report file
    echo "$month_year: $minutes minutes" >> "$output_file"

done

# Output the final cumulative connection time to the report file
echo "Total connection time: $connection_time minutes" >> "$output_file"

Tip solutie

Permanent

Voteaza

(1 din 2 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?