Nowe posty

xx FirebirdSQL server w xinetd (1)
Wczoraj o 08:31:48
xx [SOLVED] Poczta Linux.pl (9)
2022-08-09, 15:09:29
xx Dostęp z komputerów z windowsem do plików udostępnionych na serwerze linux (samb (0)
2022-08-08, 20:27:55
xx brak uprawnienia do zamontowanej partycji ntfs - elementaryOS 6,1 (5)
2022-08-08, 06:36:07
xx Jak zainstalować sterowniki do karty sieciowej TP LINK WN350GD (1)
2022-08-04, 05:55:46
xx Ubuntu vs Fedora (1)
2022-07-26, 03:40:58
xx virtualization technology (1)
2022-07-25, 21:27:10
xx Migracja z centos 6 na centos 7 (3)
2022-07-25, 07:31:19
xx akonadi w KDE5 (10)
2022-07-22, 23:34:05
xx Alternatywa dla Delphi (7)
2022-07-22, 15:27:42

Autor Wątek: skrypty pomoc  (Przeczytany 22156 razy)

szaol20

  • Gość
skrypty pomoc
« dnia: 2012-05-14, 20:00:26 »
Witam.
Mam pytanie, czy znajdą się osoby skłonne pomóc w napisaniu skryptów?
Oto treść zadań:
1.Stworzyć skrypt, który zbierze informacje o systemie (np: zajętość dysków, 5 procesów najbardziej obciążających procesor, zajetość pamieci) przy użyciu poleceń dostępnych w systemie (np: grep, top, ps, uptime, df), a następnie wygeneruje raport w postaci pliku tekstowego.
2.Stworzyć skrypt, który wykona backup plików konfiguracyjnych systemu (katalog /etc). Plik backupu powinien zawierać w nazwie datę w formacie RRRR-MM-DD. Dodatkowo proszę podać format wpisu do harmonogramu systemowego (crontab), który wywoła skrypt backupu codziennie o godzinie 23.
3.Stworzyć skrypt, który zbierze informacje o konfiguracji sieciowej systemu, a następnie wygeneruje raport w postaci pliku tekstowego dotyczący ilości interfejsów sieciowych, adresów ip, domyślnej bramy oraz serwerów dns.
4. Stworzyć skrypt wyszukujący pliki w katalogu ~test (maska a*), który wyświetli właścicieli tych plików oraz zmieni uprawnienia na takie, które umożliwiają na zapis i odczyt dla właściciela, odczyt dla grupy a innym zabraniają odczytu, zapisu i wykonania.
Liczę na wskazówki, albo na bardziej zaawansowaną pomoc.

chmooreck

  • Gość
skrypty pomoc
« Odpowiedź #1 dnia: 2012-05-15, 07:23:00 »
Pomóc ? na pewno.
Zrobić za Ciebie - raczej nie...
Do Ciebie należy pierwszy krok.

Nie wiesz nawet od czego zacząć ? Było chodzić na zajęcia...

http://rtfm.killfile.pl

szaol20

  • Gość
skrypty pomoc
« Odpowiedź #2 dnia: 2012-05-15, 11:52:57 »
Powiem tak. Dziwnie to zabrzmi ale uczelnia doszła do wniosku, że sami mamy dojść do tego jak to zrobić. Żadnych zajęć z tego nie było, tylko podstawy podstaw administracji systemem SLES. Dlatego nie wiem od czego zacząć bo z linuksem nie jestem zbyt zaprzyjaźniony.

chmooreck

  • Gość
skrypty pomoc
« Odpowiedź #3 dnia: 2012-05-15, 13:30:15 »
Zacznij od zaprzyjaźnienia się z linuksem.

Te zadania to sa podstawy podstaw i nie wierzę, że nie jesteś w stanie ich w żaden sposób ugryźć...

I nie pisz, że nie da się znaleźć jakiegos kursu podstawowego bash'a w internecie

szaol20

  • Gość
skrypty pomoc
« Odpowiedź #4 dnia: 2012-05-15, 15:12:41 »
Ja nie twierdze że kursu o bash'u nie ma, bo mam taki kurs. Chciałem uzyskać informacje z jakich poleceń skorzystać o czym doczytać i czym dokładnie się zainteresować w linuksie ponieważ jak wspominałem nie jestem zbyt z nim zaprzyjaźniony. Dla kogoś kto zna temat zadania wydają się jasne. Temat do zamknięcia i najlepiej usunąć żeby nie zaśmiecał szanowne forum. Pozdrawiam.

chmooreck

  • Gość
skrypty pomoc
« Odpowiedź #5 dnia: 2012-05-15, 21:10:58 »
Cytat: szaol20
przy użyciu poleceń dostępnych w systemie (np: grep, top, ps, uptime, df)
Czyli to za mało żebyś cokolwiek ruszył ?

xavery

  • Gość
skrypty pomoc
« Odpowiedź #6 dnia: 2012-05-18, 15:57:32 »
Ad. 2 Polecenie tar i crontab
Ad. 3. Duuuużo możliwości:) Polecenia ip, ifconfig, netstat, etc...
Ad. 4 Polecenie find (tylko jedno)

I do każdego man np.: man find, man tar, etc...

Zacznij od pkt. 4 - najprostszy się wydaje:)

Offline ultr

  • Users
  • Guru
  • *****
  • Wiadomości: 1177
    • Zobacz profil
skrypty pomoc
« Odpowiedź #7 dnia: 2012-05-18, 23:06:30 »
1.
df, ps, uptime, free, lspci, who, last, ...
obróbka: head, tail, grep, cut, awk

2.
tar, date
plus jakiekolwiek howto crona

3.
ifconfig, route
obrobka: grep, cut, awk

4.
ls lub find, stat, chmod


http://dief.republika.pl/main.html
oraz manual do każdego polecenia.

szaol20

  • Gość
skrypty pomoc
« Odpowiedź #8 dnia: 2012-05-20, 12:34:40 »
Panowie serdeczne dzięki za pomoc. Poświęciłem dwa dni poczytałem potrenowałem i już doszedłem co i jak. Rzeczywiście zadania wydają się proste. Wasze uwagi też jak najbardziej się przydadzą. Pozdrawiam.

szaol20

  • Gość
skrypty pomoc
« Odpowiedź #9 dnia: 2012-06-03, 21:00:05 »
A więc wszystko poskładane i wyszło że:
1. #!/bin/bash
date > /raport.txt
free -m >> /raport.txt
ps aux | head -n 5 >> /raport.txt
df -a >> /raport.txt
uptime >> /raport.txt

2. #!/bin/bash
 tar -czvf $(date +%F).tar.gz /etc   //tworzenie archiwum z nazwą jako data

crontab -e
0 23 * * *  /backup.sh

3. #!/bin/bash
date > /siec.txt
ifconfig -a >> /siec.txt
route >> /siec.txt
cat etc/resolv.conf >> /siec.txt

4. find a*.* /test
chmod 640 nazwa_pliku
Panowie powiedzcie dlaczego polecenie find a*.* /test mówi że nie znaleziono katalogu ani pliku mimo że pliki są o nazwie na litere a w katalogu /test.

zebra

  • Gość
skrypty pomoc
« Odpowiedź #10 dnia: 2012-06-03, 23:01:29 »
Pisząc skrypty trzeba pamiętać, że ktoś, kiedyś uruchomi go gdzieś, nie wiadomo gdzie. Dlatego warto podawać pełną ścieżkę do jakichkolwiek plików.
Pomocna jest zmienna globalna $HOME wskazująca domowy katalog zalogowanego użytkownika. Czyli:
cd $HOME/katalog/w/którym/ma/dzialac/skrypt
lub pełna ścieżka do każdego katalogu/pliku

Jeśli chodzi o find to chyba powinno być coś takiego:
find $HOME/sciezka/test -name a*.*

szaol20

  • Gość
skrypty pomoc
« Odpowiedź #11 dnia: 2012-06-03, 23:47:55 »
Akurat pomyślałem, że lepiej będzie jak wszystkie pliki, które są tworzone przez skrypt będą znajdowały się w katalogu roota czyli /. Ale może źle myślę. Co do tego find dalej nie rozumiem tego polecenia, ale pewnie muszę więcej poczytać.


już doczytałem: find /test -name a*.* (opcjonalnie a*)
zmiana uprawnień według zadania: chmod 640 /test/a*.*
ale jak rozwiązać sprawę ze znalezionymi plikami ich właścicielami? jak sie odwołać do znalezionych polików?

szaol20

  • Gość
skrypty pomoc
« Odpowiedź #12 dnia: 2012-06-04, 16:31:22 »
4. #!/bin/bash
find /test -name a*
ls -l /test/a*
chmod 640 /test/a*

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 2859
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
skrypty pomoc
« Odpowiedź #13 dnia: 2012-06-04, 18:11:48 »
Cytat: szaol20
a*.* (opcjonalnie a*)
To dość duża różnica.

a) a* - pliki zaczynające się od a, potem dowolna ilość dowolnych znaków lub NIC.
b) a*.* - pliki zaczynające się od a, potem dowolna ilość dowolnych znaków lub NIC; potem KROPKA i potem znowu dowolna ilość dowolnych znaków lub NIC

czyli:

duperele - nie pasuje do żadnego
ananas - pasuje do a) ale nie do b)
ananas. - pasuje do a) i b)
a - pasuje do a) ale nie do b)
a. - pasuje do a) i b)
a.txt - pasuje do a) i b)
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

szaol20

  • Gość
skrypty pomoc
« Odpowiedź #14 dnia: 2012-06-05, 14:23:32 »
pkraszewski ok dzięki za sprosowanie :)
a powiedz mi czy reszta jest dobrze rozwiązana czy pasowało by coś zmienić w tych skryptach?