This shows you the differences between two versions of the page.
capitole:capitol-05 [2013/07/05 06:26] alexef created |
capitole:capitol-05 [2013/07/05 10:32] (current) alexef |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | = Capitolul 4: Command Line Tricks = | + | = Capitolul 5: Shell scripting 2 = |
**Alocare de timp**: 3 ore | **Alocare de timp**: 3 ore | ||
- | [[|Slide-uri de prezentare]] | + | [[https://docs.google.com/presentation/d/1BQrjI66H4PAxt1tsSIbM6dG18SvQ_9fu16ud38TxEAM/pub?start=false&loop=false&delayms=3000|Slide-uri de prezentare]] |
== Hands on (1) == | == Hands on (1) == | ||
Line 34: | Line 33: | ||
* Găsiți toate fișierele ce au legătură cu apache. | * Găsiți toate fișierele ce au legătură cu apache. | ||
* Găsiți toate fișierele cu extensia .conf. | * Găsiți toate fișierele cu extensia .conf. | ||
- | * Găsiți toate fișirele .conf și creați un fișier de backup cu extensia .backup. | + | * Găsiți toate fișirele .conf și creați un fișier de backup cu extensia .backup, exemplu ''apache2.conf -> apache2.conf.backup''. |
- | * Găsiți toate numele de fișire, fără calea lor. | + | <del>* Găsiți toate numele de fișiere, fără calea lor.</del> |
* Realizaţi un script numit ''checkfile.sh'' care: | * Realizaţi un script numit ''checkfile.sh'' care: | ||
Line 43: | Line 42: | ||
* Rulați scriptul de 2 ori cu același parametru. | * Rulați scriptul de 2 ori cu același parametru. | ||
+ | == Hands on (2) == | ||
+ | |||
+ | * Scrieți un script care primește doi parametri, //start// și //count// și afișează un număr de //count// procese începând de la indexul //start//, în ordinea crescătoare a PID-urilor. Hint: ''sort'' | ||
+ | |||
+ | * Folosind ''sed'' scrieți un script care generează mail-uri în mod automat. | ||
+ | |||
+ | Ca date de intrare, creați un fișier cu structura: | ||
+ | <code>nume,email | ||
+ | Alex,alex@example.com | ||
+ | Traian,traian@example.com | ||
+ | </code> | ||
+ | |||
+ | precum și un **template**, de genul: | ||
+ | |||
+ | <code> | ||
+ | Salut NUME! | ||
+ | ... | ||
+ | Acest mesaj îți este adresat ție și numai ție. | ||
+ | </code> | ||
+ | |||
+ | Ca date de ieșire, scriptul va crea într-un director ''emails'' câte un fișier cu numele //email// personalizat pentru fiecare //nume// din fișierul dat. | ||
+ | |||
+ | * Puteți face același lucru folosind bash? Dacă da, cum? Scrieți un alt script care folosește bash pentru înlocuiri. | ||
+ | |||
+ | == Hands on (3) == | ||
+ | * Scrieți un script care crează copii de siguranță pentru toate fișierele din ''/etc'' sau un folder dat ca parametru, cu extensia ''.conf''. | ||
+ | * backupurile vor fi stocate într-un director cu numele: ''backup-YYMMDDHHmm'' din directorul curent (hint: ''date'') | ||
+ | * extensia copiilor de siguranță va fi ''.bak'' in loc de ''.conf'' | ||
+ | |||
+ | |||
+ | == Hands on (4) == | ||
+ | * Programați ca peste 5 minute să fie creat un fisier ''executat'' în home-ul utilizatorului curent | ||
+ | * Configurați ca scriptul de backup de la //Hands on (3)// să ruleze o dată la 10 minute. | ||
== Resurse utile == | == Resurse utile == | ||
* [[:home|Wiki-ul cursului]] | * [[:home|Wiki-ul cursului]] |