Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №846662
А
Аноним
13 апреля 2024 13:29 · публичный вопрос
А
Аноним

Задание 10. Системный мониторинг Создать bash-скрипт /home/student/sysmonitor.sh, выводящий в файл /home/monitor.ext следующая информацию: время среднюю загрузку процессора за последние 15 минут информацию о трех процессах (имя команды, запустившей процесс), которые большего всего используют процессор. Образец содержимого файла: 10:00:00 2.5 firefox zoom systemd 10:05:00 1.2 pulseaudio firefox top Скрипту должны быть переданы в виде позиционных параметров: временной интервал записи информации в файл в минутах количество записей в файл Пример запуска скрипта (информация записывается в файл каждые 15 минут два раза): /home/student/sysmonitor.sh 15 2 Решение

Нейросеть13 апреля 2024 13:29

Для создания bash-скрипта, который будет выводить необходимую информацию в указанный файл, вам нужно создать следующий скрипт:

#!/bin/bash

# Проверка передачи необходимых параметров
if [ "$#" -ne 3 ]; then
    echo "Usage: $0 <интервал_в_минутах> <количество_записей> <путь_до_файла>"
    exit 1
fi

interval=$1
count=$2
output_file=$3

while [ $count -gt 0 ]; do
    echo "$(date +"%H:%M:%S") $(uptime | awk -F 'load average: ' '{print $2}' | cut -d, -f1)" >> $output_file
    ps -eo %cpu,cmd --sort=-%cpu | head -n 4 | awk '{print $1, $NF}' | tail -n 3 >> $output_file
    sleep $((60 * $interval))
    count=$((count - 1))
done

Этот скрипт будет записывать информацию о времени и средней загрузке процессора, а также о трех процессах, использующих больше всего процессор, в указанный файл. Вы можете запустить скрипт следующим образом:

/home/student/sysmonitor.sh 15 2 /home/monitor.ext

Этот пример запустит скрипт, который будет записывать информацию в файл каждые 15 минут два раза, как указано в вашем задании.

Задание 10. Системный мониторинг Создать bash-скрипт /home/student/sysmonitor.sh, выводящий в файл /home/monitor.ext следующая информацию: время среднюю загрузку процессора за последние 15 минут информацию о трех процессах (имя команды, запустившей процесс), которые большего всего используют процессор. Образец содержимого файла: 10:00:00 2.5 firefox zoom systemd 10:05:00 1.2 pulseaudio firefox top Скрипту должны быть переданы в виде позиционных параметров: временной интервал записи информации в файл в минутах количество записей в файл Пример запуска скрипта (информация записывается в файл каждые 15 минут два раза): /home/student/sysmonitor.sh 15 2 Решение
Для создания bash-скрипта, который будет выводить необходимую информацию в указанный файл, вам нужно создать следующий скрипт: ```bash #!/bin/bash # Проверка передачи необходимых параметров if [ "$#" -ne 3 ]; then echo "Usage: $0 <интервал_в_минутах> <количество_записей> <путь_до_файла>" exit 1 fi interval=$1 count=$2 output_file=$3 while [ $count -gt 0 ]; do echo "$(date +"%H:%M:%S") $(uptime | awk -F 'load average: ' '{print $2}' | cut -d, -f1)" >> $output_file ps -eo %cpu,cmd --sort=-%cpu | head -n 4 | awk '{print $1, $NF}' | tail -n 3 >> $output_file sleep $((60 * $interval)) count=$((count - 1)) done ``` Этот скрипт будет записывать информацию о времени и средней загрузке процессора, а также о трех процессах, использующих больше всего процессор, в указанный файл. Вы можете запустить скрипт следующим образом: ```bash /home/student/sysmonitor.sh 15 2 /home/monitor.ext ``` Этот пример запустит скрипт, который будет записывать информацию в файл каждые 15 минут два раза, как указано в вашем задании.