/Linux-Monitoring-1

linux scripts

Primary LanguageShell

Linux Monitoring

  • Написанные Bash-скрипты должны находиться в папке src
  • Для каждого задания должна быть создана папка с названием вида: 0x, где x - номер задания
  • Все скрипты должны быть декомпозированы и разбиты на несколько файлов
  • Файл с основным сценарием для каждого задания должен называться main.sh
  • Во всех скриптах должны быть предусмотрены проверки на некорректный ввод (указаны не все параметры, параметры неправильного формата и т.д.)
  • Все написанные скрипты нужно запускать на виртуальной машине Ubuntu Server 20.04 LTS

Part 1.

Написать bash-скрипт с одним текстовым параметром. Скрипт выводит значение параметра. Если параметр - число, то должно выводится сообщение о некорректности ввода.

Part 2.

Скрипт должен вывести на экран информацию в виде:

HOSTNAME = сетевое имя
TIMEZONE = временная зона в виде: America/New_York UTC -5 (временная зона, должна браться из системы и быть корректной для текущего местоположения)
USER = текущий пользователь который запустил скрипт
OS = тип и версия операционной системы
DATE = текущее время в виде: 12 May 2020 12:24:36
UPTIME = время работы системы
UPTIME_SEC = время работы системы в секундах
IP = ip-адрес машины в любом из сетевых интерфейсов
MASK = сетевая маска любого из сетевых интерфейсов в виде: xxx.xxx.xxx.xxx
GATEWAY = ip шлюза по умолчанию
RAM_TOTAL = размер оперативной памяти в Гб c точностью три знака после запятой в виде: 3.125 GB
RAM_USED = размер используемой памяти в Гб c точностью три знака после запятой
RAM_FREE = размер свободной памяти в Гб c точностью три знака после запятой
SPACE_ROOT = размер рутового раздела в Mб с точностью два знака после запятой в виде: 254.25 MB
SPACE_ROOT_USED = размер занятого пространства рутового раздела в Mб с точностью два знака после запятой
SPACE_ROOT_FREE = размер свободного пространства рутового раздела в Mб с точностью два знака после запятой

После вывода значений предложить записать данные в файл (предложить пользователю ответить Y/N).

Part 3.

Написать bash-скрипт. За основу взять скрипт из Part 2 и убрать из него часть, ответственную за сохранение данных в файл.
Скрипт запускается с 4 параметрами. Параметры числовые. От 1 до 6, например:
script03.sh 1 3 4 5

Обозначения цветов: (1 - white, 2 - red, 3 - green, 4 - blue, 5 – purple, 6 - black)
Параметр 1 - это фон названий значений (HOSTNAME, TIMEZONE, USER и т.д.)
Параметр 2 - это цвет шрифта названий значений (HOSTNAME, TIMEZONE, USER и т.д.)
Параметр 3 - это фон значений (после знака '=')
Параметр 4 - это цвет шрифта значений (после знака '=')

Part 4.

Написать bash-скрипт. За основу берется скрипт из Part 3. Обозначения цветов аналогичные.
Скрипт запускается без параметров. Параметры задаются в конфигурационном файле до запуска скрипта.

Part 5.

Написать bash-скрипт. Скрипт запускается с одним параметром.
Параметр - это абсолютный или относительный путь до какой-либо директории. Параметр должен заканчиваться знаком '/', например:
script05.sh /var/log/

Скрипт должен выводить следующую информацию о каталоге, указанном в параметре:

  • Общее число папок, включая вложенные
  • Топ 5 папок с самым большим весом в порядке убывания (путь и размер)
  • Общее число файлов
  • Число конфигурационных файлов (с расширением .conf), текстовых файлов, исполняемых файлов, логов (файлов с расширением .log), архивов, символических ссылок
  • Топ 10 файлов с самым большим весом в порядке убывания (путь, размер и тип)
  • Топ 10 исполняемых файлов с самым большим весом в порядке убывания (путь, размер и хеш)
  • Время выполнения скрипта