- 
Semester: zimný
 - 
Rok: 2011
 
Zadania
Zadanie je potrebné poslať mailom do 6. 2. 2012 23:59.
Zadania k Powershellu
Vytvorte skript v PowerShelli, ktorý vytvorí sumárnu informáciu o aktuálnom stroji. V sumárnej informácii uveďte nasledovné informácie.
- Názov aktuálneho stroja
 - Veľkosť nainštalovanej pamäte RAM
 - MAC adresy sieťových adaptérov
 - IP adresu v aktuálne pripojenej sieti
 - Počet fyzických diskov
 - Všetky logické jednotky a ich veľkosti.
 - Zoznam používateľov aktuálneho stroja
 - Pre každého používateľa veľkosť jeho domovského adresára a cestu k nemu.
 
V skripte deklarujte vlastnú triedu LocalStationInfo s vhodne zvolenými inštančnými premennými.
Vytvorte cmdlet GetLocalStationInfo, ktorý prijme z rúry inštanciu LocalStationInfo a do rúry pošle prehľadne naformátované informácie o aktuálnom stroji. Informácia nech je reprezentovaná v používateľsky prítulnom HTML súbore.
Pripravte powershellovský skript, ktorý vezme ako parameter názov súboru. Po spustení skriptu nech sa do zadaného súboru zapíše uvedená HTML správa o aktuálnom stroji.
Zadanie k shell scriptingu
Vytvorte sadu shell skriptov, ktoré realizujú zálohovanie ľubovoľného adresára na vzdialené úložisko v duchu nástroja rsync
Zvoľte jeden vhodný typ vzdialeného úložiska, inšpiráciou môže byť:
- HTTP upload
 - FTP
 - SCP
 
Odporúča sa použiť HTTP upload, pričom na strane servera vytvorte jednoduchý PHP skript a na strane shellskriptu využite nástroj cURL.
Každá záloha adresára nech je vo vzdialenom úložisku identifikovaná časovou značkou, ktorá je jednoznačná.
Nástroj nech podporuje nasledovné operácie:
- 
odzálohovanie ľubovoľného adresára zadaného z parametra do úložiska
Odporúča sa využiť niektorý z komprimačných nástrojov, napr. tradičnú kombinácu
taragz. 
backup /home/novotnyr
- výpis všetkých záloh na vzdialenom úložisku
 
$> retrieve
Zoznam zaloh:
2011/10/10
2011/12/1
2012/1/2
- obnovenie zálohy na základe zadanej časovej značky do zadaného adresára
 
$> restore 2011/10/10 /home/tmp/backup
Záloha musí byť obnovená do identického stavu, v akom sa nachádzala pri zálohovaní, čo platí pri obnove súborov do existujúceho adresára. Ak používateľ obnovuje do existujúceho adresára, vyžadujte od neho potvrdenie (použite read alebo vyžadujte špeciálny parameter)).
- zistenie zoznamu rozdielnych súborov (pribudnutých, odbudnutých, zmenených) medzi dvoma zálohami.
 
$> difference 2011/10/10 2012/1/2
+ index.html
+ wiki/wiki.html
- chata.jpg
- ozierka.jpg
1.  changelog
1.  zoznamuloh.jpg
Jedno z riešení odošle na server spolu s komprimovaným adresárom aj súbor obsahujúci cesty pre každý zo zoznamu súborov.
Všeobecné zásady
Kód nech dodržuje všetky zásady POSIXového shellu. Vyhnite sa bashismom a podobným nekompatibilitám. Skripty testujte na shelli dash alebo ash, ktorý je prítomný na serveri s.ics.upjs.sk, uveďte do shebangu /bin/dash) a na debianovských distribúciách, alternatívne využite projekt busybox, alebo niektorý z mikrodistribúcií (napr. TinyCore Linux).