Автоматизація процесу адміністрування за допомогою скриптів.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
УІ
Кафедра:
ЗІ

Інформація про роботу

Рік:
2015
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Інформаційно-комунікаційні системи

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» Кафедра ЗІ  З В І Т до лабораторної роботи №7, 8 з курсу «Безпека інформації в інформаційно-комунікаційних системах» на тему: «Автоматизація процесу адміністрування за допомогою скриптів.» Мета роботи: Отримати базові знання, необхідні для написання скриптів. Навчитися працювати з технічною літературою. Короткі теоретичні відомості: Кожен системний адміністратор Linux рано чи пізно стикається з таким поняттям, як «скрипт», будь то один із завантажувальних скриптів чи написаний розробником ПЗ скрипт конфігурування. В даній роботі ви зрозумієте, що написання скриптів на shell не являється чимось надзвичайно складним і повністю під силу навіть новачку в світі Linux. Почнемо з того, що розберемо, що ж ховається за англійськими термінами shell та script. Shell, або оболонка, як цей термін іноді перекладають - це командний інтерпретатор, інтерфейс між користувачем і операційною системою, її ядром. Але, крім цього, це ще й потужна мова програмування та написання сценаріїв. Вона містить свої службові слова та керуючі конструкції і дозволяє писати на ній програми. Така програма на мові сценаріїв, звана скриптом, може поєднувати в собі системні виклики і команди операційної системи, а також зовнішні утиліти, створюючи потужний інструмент для системного адміністрування. Отже, перш за все, нам необхідно розібратися в структурі скрипта. Вона не являє собою нічого складного. За великим рахунком, найпростіший скрипт – просто перерахування системних команд. Наприклад: echo This is just example whoami uname –a Ці команди об’єднані в одному файлі. Але shell повинен знати, що він повинен цей файл обробити, а не просто прочитати його вміст. Для цього є спеціальна конструкція: #! Ця конструкція називається «Sha-Bang». Взагалі-то, # задає коментар, але в даному випадку Sha-Bang означає, що після неї піде шлях до обробника скрипта. Наприклад: #!/bin/bash #!/bin/sh #!/usr/bin/perl Хід роботи: Створити скрипт, який здійснює вивід меню, яке складається з наступних пунктів: поточний користувач, об’єм пам’яті, яка використовується, об’єм дискового простору, запущені процеси, процеси, які запущені поточним користувачем, системні дата і час, час запуску системи вихід, Вивід відповідної інформації в залежності від вибраного пункту меню. Процес повторювати до тих пір, поки не буде вибраний пункт меню «вихід».  Результат: [cra@cra ~]$ sh lab7.sh Дії: 1.Вивести поточного користувача 2.Обєм RAM 3.Статус HDD 4.Запущені процеси 5.Процеси поточного користувача 6.Дата та час 7.Час запуску ситеми 8.Завершення роботи Виберіть дію 1 cra Виберіть дію 2              total       used       free     shared    buffers     cached Mem:       1030684     967152      63532          0      23704     443164 -/+ buffers/cache:     500284     530400 Swap:      2064376       8768    2055608 Виберіть дію 3 Файловая система     1K-блоков      Исп  Доступно  Исп% смонтирована на /dev/mapper/vg_cra-lv_root                        5716804   4265728   1160672  79% / tmpfs                   515340       616    514724   1% /dev/shm /dev/sda1               495844     32002    438242   7% /boot df: «/root/.gvfs»: Отказано в доступе /dev/sr0               3080782   3080782         0 100% /media/RHEL_6.4 i386 Disc 1 Виберіть дію 4 USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND root      8421  0.0  0.0   4288   932 pts/0    T    11:52   0:00 man ps root      8440  0.0  0.1   5064  1064 pts/0    T    11:52   0:00 sh -c /usr/bin/ root      8442  0.0  0.0   4488   808 pts/0    T    11:52   0:00 /usr/bin/less - cra       8706  0.0  0.1   5068  1168 pts/2    T    12:04   0:00 sh lab7.sh cra       8722  0.0  0.1   5068  1160 pts/2    T    12:05   0:00 sh lab7.sh cra       8725  0.0  0.1   5068  1156 pts/2    T    12:05   0:00 sh lab7.sh cra       8729  0.0  0.1   5068  1160 pts/2    T    12:06   0:00 sh lab7.sh cra       8735  0.0  0.1   5068  1156 pts/2    T    12:07   0:00 sh lab7.sh cra       8745  4.2  0.1   5068  1252 pts/2    S+   12:08   0:00 sh lab7.sh cra       8749  4.0  0.1   4932  1044 pts/2    R+   12:08   0:00 ps -a u Виберіть дію 5 Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND cra       8691  0.0  0.1   5288  1752 pts/2    Ss   12:04   0:00 bash cra       8706  0.0  0.1   5068  1168 pts/2    T    12:04   0:00 sh lab7.sh cra       8722  0.0  0.1   5068  1160 pts/2    T    12:05   0:00 sh lab7.sh cra       8725  0.0  0.1   5068  1156 pts/2    T    12:05   0:00 sh lab7.sh cra       8729  0.0  0.1   5068  1160 pts/2    T    12:06   0:00 sh lab7.sh cra       8735  0.0  0.1   5068  1156 pts/2    T    12:07   0:00 sh lab7.sh cra       8745  3.4  0.1   5068  1252 pts/2    S+   12:08   0:00 sh lab7.sh cra       8750  2.0  0.1   4932  1060 pts/2    R+   12:08   0:00 ps -u Виберіть дію 6 Пнд Дек  7 12:08:10 EET 2015 Виберіть дію 7  12:08:11 up 12:08,  5 users,  load average: 0.05, 0.24, 0.35 Виберіть дію 9 Хибний пункт меню Виберіть дію 8 [cra@cra ~]$ Висновок: на даній лабораторній роботі я познайомився з оболонкою bash та отримав базові знання, необхідні для написання скриптів. Лабораторна робота №8 Мета роботи: Закріпити отримані навики і знання в попередній лабораторній роботі. Навчитись працювати з технічною літературою.. Короткі теоретичні відомості: 1) Необхідно, щоб наш скрипт працював з командною стрічкою. Аргументи командної стрічки задаються після імені скрипта через пробіл: somescript arg1 arg2 arg3. Скрипт сприймає аргументи за їх порядковими номерами, тому ми будемо використовувати конструкції виду $номер_аргументу, тобто $1, $2, $3. 2) Для перевірки існування директорії застосовується наступна конструкція: if [ ! -e $ARCHIVE_DIR ]; then echo "\"$ARCHIVEDIR\" не существует" fi 3) Для стискання застосовуються наступні команди: tar скріплює окремі файли в єдиний архівний файл, а для стискання цього файлу використовують команду gzip. 4) cron - демон-планувальник задач в UNIX-подібних операційних системах, який використовується для періодичного виконання завдань за заданий час. Основний файл конфигурації cron, /etc/crontab, виглядає приблизно так: # /etc/crontab: system-wide crontab # Unlike any other crontab you don't have to run the `crontab' # command to install the new version when you edit this file # and files in /etc/cron.d. These files also have username fields, # that none of the other crontabs do. SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # m h dom mon dow user command 17 * * * * root cd / && run-parts --report /etc/cron.hourly 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) 47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ) 52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly ) # Кожний користувач системи має свій файл завдань crontab, в якому описано, в який час і які програми запускати від імені цього користувача. Для редагування файлу crontab використовується спеціальна однойменна програма crontab, яка дозволяє не переривати процес cron на час редагування. Для редагування файлу crontab вашого користувача застосовується команда: crontab –e Хід роботи: Створити скрипт, який здійснює вивід меню, яке складається з наступних пунктів: Передати в скрипт ім’я папки для архівації, ім’я папки призначення та ім’я архіву, Перевірити правильність кількості переданих параметрів, Визначити існування папки для архівації. У випадку її відсутності вивести відповідне повідомлення. Визначити існування папки призначення. У випадку її відсутності її необхідно створити і вивести відповідне повідомлення. Заархівувати всі файли із папки для архівації. Перемістити файл в папку призначення, додавши до імені файлу поточні час і дату. Скрипт: #!/bin/bash dt=$(date +%d.%y.%m_%H-%M-%S) if [ -a $4 ]         then if [ -a $3 ]                 then                    echo "Замало аргументів" echo "Перезапустіть скрипт в форматі         script [archfolder] [destination] [archname] "                    exit 0                 fi                    else                      echo "Забагато аргументів" echo "Перезапустіть скрипт в форматі         script [archfolder] [destination] [archname] "                      exit 0 fi if [ -d $1 ]         then echo         else            echo "Папка для архівації не існує" echo "Перезапустіть скрипт в форматі         script [archfolder] [destination] [archname] "            exit 0        fi          if [ -d $2 ]                 then echo                 else                 echo "Папка призначння не існує"                 mkdir $2                 echo "Папка призначення створена"                 fi          tar -cvf $3_"$dt".tar $1          mv ./$3_"$dt".tar $2          echo "Файл переміщено" exit 0  Останнім етапом буде автоматизація виклику даного скрипту. Зробіть, щоб даний архів створювався кожні 5 хв. (для перевірки працездатності).   Висновок: на даній лабораторній роботі я познайомився з оболонкою bash та отримав базові знання, необхідні для написання скриптів.а також навичвся проводити резервне копіювання даних.
Антиботан аватар за замовчуванням

04.12.2016 23:12-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!