Difference between revisions of "TDC BB-TEL efterår 2009"

From Teknologisk videncenter
Jump to: navigation, search
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 ''sun.tekkom.dk'' i ''hostname''
+
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 =
*Undervisning baseret på bogen [http://oreilly.com/catalog/9780596520106/?CMP=AFC-ak_book&ATT=Learning+Perl,+Fifth+Edition, Learning 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 anvendelse af [http://www.activestate.com/activeperl/ ActivePerl] med [http://www.perl-express.com/download.html Perl Express] IDE.
+
*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 ''endnu ukendt''
+
*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

Virtualisering

Distributioner

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.

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

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

Perl løsninger efterår 2009

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

Teknologier

Software