Difference between revisions of "TDC BB-TEL efterår 2009"
m (→UGE 46 - Network Management) |
m (added Category:Perl using HotCat) |
||
(56 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{TOCright}} | ||
= UGE 35 - 2009 UNIX= | = UGE 35 - 2009 UNIX= | ||
+ | BBtel | ||
== Få fat i maskinen udefra == | == Få fat i maskinen udefra == | ||
− | I putty skriv '' | + | I putty skriv '''mars.tekkom.dk''' i '''hostname''' |
+ | |||
== Kursustider == | == Kursustider == | ||
*Tirsdag 09:15 - 15:25 | *Tirsdag 09:15 - 15:25 | ||
Line 11: | Line 14: | ||
== Putty == | == Putty == | ||
*[http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe download Putty.exe] | *[http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe download Putty.exe] | ||
+ | == Opgaver i klassen == | ||
+ | *[[media:Shell script opgave menu.pdf|Lav et menuprogram i bash opgave]] | ||
+ | *[[UNIX opgave Apache Access log]] | ||
+ | *[[UNIX opgaver]] | ||
+ | |||
+ | == Valgfrie opgaver == | ||
+ | *[[UNIX assignments]] | ||
+ | == Notater == | ||
+ | === Sende mail === | ||
+ | At sende emails er nemt i UNIX | ||
+ | <source lang=cli> | ||
+ | [root@mars ~]#<input>echo "Buh" | mail -s "Vigtig" heth@mercantec.dk</input> | ||
+ | </source> | ||
+ | |||
+ | At sende mange mail er også nemt | ||
+ | <source lang=cli> | ||
+ | LIST="bent ole hans@hudj.dk kurt@smurt.dk" | ||
+ | |||
+ | for i in $LIST | ||
+ | do | ||
+ | echo "Buy stuff for free" | mail -s "Important" $i | ||
+ | done | ||
+ | </source> | ||
+ | |||
+ | === Ping og /dev/null === | ||
+ | I eksemplet nedenunder sendes 1 pingpakke (-c 1) til IP adressen 192.168.22.22 og der ventes maksimalt 1 sekund på svaret (-t 1). STDOUT fra ping er omdirigeret til ''/dev/null'' som er skraldespanden. STDERR er omdirigeret til samme sted som STDOUT altså ''/dev/null'' | ||
+ | <source lang=cli> | ||
+ | if ping -t 1 -c 1 192.168.22.22 > /dev/null 2>&1 | ||
+ | then echo "OK" | ||
+ | else echo "Fejl" | ||
+ | fi | ||
+ | </source> | ||
+ | |||
+ | == Ting der har drillet == | ||
+ | Kommandoen '''date +%m''' returner månedsnummeret feks '''08''' for august. imidlertidigt var tallet markeret som tekst og vi kunne ikke bruge det ved beregninger. Derfor skal tallet konverteres til Integer(heltal) og sortere det foranstillede 0 væk. | ||
+ | === Perl løsning === | ||
+ | En one-liner perl kan løse problemet | ||
+ | <source lang=cli> | ||
+ | #!/usr/bin/bash | ||
+ | MONTHS=(Januar Februar Marts April Maj juni Juli August September Oktober November December) | ||
+ | |||
+ | let MD=`date +%m | perl -ne '/0?(.*)/;print $1'`-1 | ||
+ | echo "Det er maaned: ${MONTHS[$MD]}" | ||
+ | </source> | ||
+ | |||
+ | === sed løsning === | ||
+ | En one liner sed (Serial Editor). En editor næsten som '''vi''', bare beregnet til at bruge i scripts. | ||
+ | <source lang=cli> | ||
+ | #!/usr/bin/bash | ||
+ | MONTHS=(Januar Februar Marts April Maj juni Juli August September Oktober November December) | ||
+ | |||
+ | let MD=`date +%m | sed 's/0*//'`-1 | ||
+ | echo "Det er maaned: ${MONTHS[$MD]}" | ||
+ | </source> | ||
+ | |||
+ | |||
== Links til UNIX == | == Links til UNIX == | ||
*[[UNIX commands|Grundlæggende UNIX kommandoer]] | *[[UNIX commands|Grundlæggende UNIX kommandoer]] | ||
Line 22: | Line 81: | ||
*[http://centos.org/ Linux distributionen CentOS] | *[http://centos.org/ Linux distributionen CentOS] | ||
*[[Bash examples]] | *[[Bash examples]] | ||
+ | *[http://www.i-am-bored.com/bored_link.cfm?link_id=31365 The WEB server is down] | ||
+ | === Virtualisering === | ||
+ | *[http://www.virtualbox.org/wiki/Downloads Download Sun VirtualBox] (Anbefalet for begyndere) | ||
+ | *[http://downloads.vmware.com/d/info/datacenter_downloads/vmware_server/2_0 WMware Server] | ||
+ | |||
+ | === Distributioner === | ||
+ | *[http://ftp.klid.dk/ftp/centos/5.3/isos/i386/CentOS-5.3-i386-bin-DVD.iso CentOS 5.3] Server installation (Anbefalet for begýndere) | ||
+ | **Se artiklen [[Sun VirtualBox installation af CentOS]] | ||
+ | *[http://www.ubuntu.com/getubuntu/download Ubuntu Linux download] klient installation (Anbefalet for begýndere) | ||
+ | *[ftp://ftp.dk.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/7.2/ FreeBSD 7.2 Download] (FreeBSD er sværere at installere end Ubuntu] | ||
= UGE 40 - 2009 Perl = | = UGE 40 - 2009 Perl = | ||
− | + | :Undervisningen er blandt andet baseret på bogen [http://oreilly.com/catalog/9780596520106/?CMP=AFC-ak_book&ATT=Learning+Perl,+Fifth+Edition, Learning perl], og det er netop formålet med kurset - at lære Perl. Bogen udleveres på kurset. Eksemplerne under kurset vil dreje sig om netværk og netværksovervågning. | |
− | *Udvikling på UNIX og | + | *Udvikling på UNIX og Windows. På Windows anvendes [http://www.activestate.com/activeperl/ ActivePerl] med [http://www.perl-express.com/download.html Perl Express] som IDE. |
+ | ** Hent [http://mars.tekkom.dk/sw/ActivePerl-5.8.9.826-MSWin32-x86-290470.msi ActivePerl] her. | ||
+ | ** Hent [http://mars.tekkom.dk/sw/PeSetup25.exe Perl Express] her | ||
== Kursustider == | == Kursustider == | ||
*Tirsdag den 29. september kl 09:15 - 15:25 | *Tirsdag den 29. september kl 09:15 - 15:25 | ||
*Onsdag den 30. september kl 08:15 - 15:25 | *Onsdag den 30. september kl 08:15 - 15:25 | ||
*Torsdag den 1. oktober kl 08:15 - 15:25 | *Torsdag den 1. oktober kl 08:15 - 15:25 | ||
+ | === Fjernundervisning === | ||
+ | *Tirsdag den 6. oktober kl 09:00 - 11:00 (Uge 41) | ||
+ | *Fredag den 23. oktober kl 09:00 - 11:00 (Uge 43) | ||
+ | |||
+ | == Links == | ||
+ | *Opkobling til Cisco udstyr med Telnet med modulet [[Net::Telnet::Cisco]] | ||
+ | == PI program == | ||
+ | <source lang=perl> | ||
+ | #!/usr/bin/perl | ||
+ | ###################### | ||
+ | # Program name: pi | ||
+ | # | ||
+ | # Abstract....: Beregen PI med en million udregninger | ||
+ | # Anvender formlen: pi/4 = 1 - 1/3 + 1/5 - 1/7 + 1/9.... | ||
+ | # | ||
+ | # Auther......: Henrik Thomsen/Mercantec | ||
+ | # Email.......: heth@mercantec.dk | ||
+ | ###################### | ||
+ | use strict; | ||
+ | use warnings; | ||
+ | |||
+ | my $pi4=1; | ||
+ | |||
+ | for (my $count=3; $count < 2*1000_000+3; $count+=4) { | ||
+ | $pi4=$pi4-1/$count; | ||
+ | $pi4=$pi4+1/($count+2); | ||
+ | } | ||
+ | |||
+ | print "PI = ",$pi4*4; | ||
+ | </source> | ||
+ | ==Løsninger på Perlprogrammer== | ||
+ | [[Talk:TDC BB-TEL efterår 2009|Perl løsninger efterår 2009]] | ||
+ | |||
= UGE 46 - Network Management = | = UGE 46 - Network Management = | ||
:Projektorienteret kursus hvor målet er at opnå erfaring med programmering af automatiseret netværksovervågning. Kurset er blandt andet baseret blandt andet på bogen [http://my.safaribooksonline.com/0596008406 Essential SNMP] som udleveres. | :Projektorienteret kursus hvor målet er at opnå erfaring med programmering af automatiseret netværksovervågning. Kurset er blandt andet baseret blandt andet på bogen [http://my.safaribooksonline.com/0596008406 Essential SNMP] som udleveres. | ||
Line 38: | Line 142: | ||
*Fredag den 13. november kl 08:15 - 12:00 | *Fredag den 13. november kl 08:15 - 12:00 | ||
− | *Frokost alle dage | + | *Frokost alle dage kl 12:15 |
+ | == Emner i ugen == | ||
+ | === Materialer === | ||
+ | *[[media:Introduktion til SNMP.pdf|Introduktion til SNMP]] | ||
+ | *[[media:MIB filer.pdf|MIB filer]] | ||
+ | |||
+ | === Opgaver === | ||
+ | *[[Perl check program oplæg |Check program]] | ||
+ | ==== Nagios på CentOS 5.2 ==== | ||
+ | |||
+ | = Install rpmforge-release = | ||
+ | Get newest [http://packages.sw.be/rpmforge-release/ rpmforge-release for your release] | ||
+ | <source lang="cli"> | ||
+ | [root@fog1 ~]# <input>cd /tmp</input> | ||
+ | [root@fog1 tmp]# <input>wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm</input> | ||
+ | [root@fog1 tmp]# <input>rpm -i rpmforge-release-0.3.6-1.el5.rf.i386.rpm</input> | ||
+ | [root@fog1 tmp]# <input>rpm -qi rpmforge-release</input> | ||
+ | Description : | ||
+ | RPMforge.net release file. This package contains apt, yum and smart | ||
+ | configuration for the RPMforge RPM Repository, as well as the public | ||
+ | GPG keys used to sign them. | ||
+ | </source> | ||
+ | |||
+ | *[http://wiki.centos.org/HowTos/Nagios#head-40b5407234af158bb3663ff160c797a4b60ad02f Nagios på CentOS] | ||
+ | |||
+ | === Links til eksempler === | ||
+ | *[[Perl module chkIPadr]] | ||
+ | *[[Net::SNMP eksempel]] | ||
+ | *[[Net::SNMP vis interface med request get]] | ||
+ | *[[Net::SNMP eksempel get_bulk_request]] | ||
+ | *[[Nagios check_weather]] | ||
+ | *[[Perl TK eksempel]] | ||
+ | |||
+ | === Teknologier === | ||
+ | *SNMP | ||
+ | *RMON | ||
+ | *NetFlow | ||
+ | *Nagios teori opsætning [http://mars.tekkom.dk/nagios/index.html http://mars.tekkom.dk/nagios/index.html] | ||
+ | **Perl plugins | ||
+ | *SNMP opsamling af OID | ||
+ | *Ericsson telnet | ||
+ | *[[TR-069]] afløser for SNMP DSL modemmer | ||
+ | === Software === | ||
+ | *GetIF http://mars.tekkom.dk/sw/getif-2.3.1.zip | ||
+ | {{Source cli}} | ||
[[Category:OLC]] | [[Category:OLC]] | ||
+ | [[Category:Perl]] |
Latest revision as of 11:09, 30 May 2012
UGE 35 - 2009 UNIX
BBtel
Få fat i maskinen udefra
I putty skriv mars.tekkom.dk i hostname
Kursustider
- Tirsdag 09:15 - 15:25
- Onsdag og torsdag: 08:15 - 15:25
- Frokost alle dage 12:00
Fjernundervisning
- Tirsdag den 1. september kl. 09:00 (Varighed cirka 2 timer)
- Tirsdag den 15. september kl. 09:00 (Varighed cirka 2 timer)
Putty
Opgaver i klassen
Valgfrie opgaver
Notater
Sende mail
At sende emails er nemt i UNIX
[root@mars ~]#<input>echo "Buh" | mail -s "Vigtig" heth@mercantec.dk</input>
At sende mange mail er også nemt
LIST="bent ole hans@hudj.dk kurt@smurt.dk"
for i in $LIST
do
echo "Buy stuff for free" | mail -s "Important" $i
done
Ping og /dev/null
I eksemplet nedenunder sendes 1 pingpakke (-c 1) til IP adressen 192.168.22.22 og der ventes maksimalt 1 sekund på svaret (-t 1). STDOUT fra ping er omdirigeret til /dev/null som er skraldespanden. STDERR er omdirigeret til samme sted som STDOUT altså /dev/null
if ping -t 1 -c 1 192.168.22.22 > /dev/null 2>&1
then echo "OK"
else echo "Fejl"
fi
Ting der har drillet
Kommandoen date +%m returner månedsnummeret feks 08 for august. imidlertidigt var tallet markeret som tekst og vi kunne ikke bruge det ved beregninger. Derfor skal tallet konverteres til Integer(heltal) og sortere det foranstillede 0 væk.
Perl løsning
En one-liner perl kan løse problemet
#!/usr/bin/bash
MONTHS=(Januar Februar Marts April Maj juni Juli August September Oktober November December)
let MD=`date +%m | perl -ne '/0?(.*)/;print $1'`-1
echo "Det er maaned: ${MONTHS[$MD]}"
sed løsning
En one liner sed (Serial Editor). En editor næsten som vi, bare beregnet til at bruge i scripts.
#!/usr/bin/bash
MONTHS=(Januar Februar Marts April Maj juni Juli August September Oktober November December)
let MD=`date +%m | sed 's/0*//'`-1
echo "Det er maaned: ${MONTHS[$MD]}"
Links til UNIX
- Grundlæggende UNIX kommandoer
- bash kommandofortolker
- Mit første bash shellscript
- vi editor oversigt skema
- software
- En masse gode Linuxbøger på dansk
- FreeBSD's hjemmeside og FreeBSD håndbogen (Engelsk PDF)
- FreeBSD WIKI
- Linux distributionen CentOS
- Bash examples
- The WEB server is down
Virtualisering
- Download Sun VirtualBox (Anbefalet for begyndere)
- WMware Server
Distributioner
- CentOS 5.3 Server installation (Anbefalet for begýndere)
- Se artiklen Sun VirtualBox installation af CentOS
- Ubuntu Linux download klient installation (Anbefalet for begýndere)
- FreeBSD 7.2 Download (FreeBSD er sværere at installere end Ubuntu]
UGE 40 - 2009 Perl
- Undervisningen er blandt andet baseret på bogen Learning perl, og det er netop formålet med kurset - at lære Perl. Bogen udleveres på kurset. Eksemplerne under kurset vil dreje sig om netværk og netværksovervågning.
- Udvikling på UNIX og Windows. På Windows anvendes ActivePerl med Perl Express som IDE.
- Hent ActivePerl her.
- Hent Perl Express her
Kursustider
- Tirsdag den 29. september kl 09:15 - 15:25
- Onsdag den 30. september kl 08:15 - 15:25
- Torsdag den 1. oktober kl 08:15 - 15:25
Fjernundervisning
- Tirsdag den 6. oktober kl 09:00 - 11:00 (Uge 41)
- Fredag den 23. oktober kl 09:00 - 11:00 (Uge 43)
Links
- Opkobling til Cisco udstyr med Telnet med modulet Net::Telnet::Cisco
PI program
#!/usr/bin/perl
######################
# Program name: pi
#
# Abstract....: Beregen PI med en million udregninger
# Anvender formlen: pi/4 = 1 - 1/3 + 1/5 - 1/7 + 1/9....
#
# Auther......: Henrik Thomsen/Mercantec
# Email.......: heth@mercantec.dk
######################
use strict;
use warnings;
my $pi4=1;
for (my $count=3; $count < 2*1000_000+3; $count+=4) {
$pi4=$pi4-1/$count;
$pi4=$pi4+1/($count+2);
}
print "PI = ",$pi4*4;
Løsninger på Perlprogrammer
UGE 46 - Network Management
- Projektorienteret kursus hvor målet er at opnå erfaring med programmering af automatiseret netværksovervågning. Kurset er blandt andet baseret blandt andet på bogen Essential SNMP som udleveres.
- Mandag den 9. november kl 09:15 - 15:25
- Tirsdag den 10. november kl 08:15 - 15:25
- Onsdag den 11. november kl 08:15 - 15:25
- Torsdag den 12. november kl 08:15 - 15:25
- Fredag den 13. november kl 08:15 - 12:00
- Frokost alle dage kl 12:15
Emner i ugen
Materialer
Opgaver
Nagios på CentOS 5.2
Install rpmforge-release
Get newest rpmforge-release for your release
[root@fog1 ~]# <input>cd /tmp</input>
[root@fog1 tmp]# <input>wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm</input>
[root@fog1 tmp]# <input>rpm -i rpmforge-release-0.3.6-1.el5.rf.i386.rpm</input>
[root@fog1 tmp]# <input>rpm -qi rpmforge-release</input>
Description :
RPMforge.net release file. This package contains apt, yum and smart
configuration for the RPMforge RPM Repository, as well as the public
GPG keys used to sign them.
Links til eksempler
- Perl module chkIPadr
- Net::SNMP eksempel
- Net::SNMP vis interface med request get
- Net::SNMP eksempel get_bulk_request
- Nagios check_weather
- Perl TK eksempel
Teknologier
- SNMP
- RMON
- NetFlow
- Nagios teori opsætning http://mars.tekkom.dk/nagios/index.html
- Perl plugins
- SNMP opsamling af OID
- Ericsson telnet
- TR-069 afløser for SNMP DSL modemmer