Для создания 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 минут два раза, как указано в вашем задании.
