Automatizovať systém Linux je dobrý nápad, shell skripty tvoria základný stavebný kameň pre automatizáciu Linuxov. Vyšší level predstavujú PERL skripty, ktoré obsahujú poročilé nástroje pre analýzu a spracovanie textu. Ako si vytvoríme ultra-jedoduchý shellovský skript?
Vytvoríme si súbor skirptik.sh, ktorý bude obsahovať len jeden príkaz. Príkaz rsync s týmito parametrami funguje na inkrementálne zálohovanie. Pred prvým spustením skriptu si najskôr vytvoríme zložku /zaloha:
#!/bin/bash
# komentar
rsync -a /home/* /zaloha
Prvý riadok je haspling, ktorý určuje, ktorý systémový interpret spustí skript. Systémový interpret je lepšie zadať absolútnou cestou (ako na ukážke) a musí existovať v zozname systémových interpretov v /etc/shells.
Momentálne súbor skriptik.sh nemá práva na spúšťanie, zmeníme to nasledujúcim príkazom:
# chmod u+x /root/skriptik.sh
Výsledok môžeme overiť pomocou príkazu:
# ls –l /root/skriptik.sh
Na implicitné spustenie potrebujeme mať práva na spúšťanie súboru. Skript spustíme implicitne takto:
# /root/skriptik.sh
Na explicitné spúšťanie nepotrebujeme mať práva na spúšťanie súboru. Potrebujeme len práva na čítanie. Skript spustíme explicitne takto:
# bash /root/skriptik.sh
V Linuxe funkciu plánovača úloh plní cron, v súbore /etc/crontab pridáme na samostatný riadok dole takýto záznam:
*/30 * * * * root /root/skriptik.sh > /root/result.txt 2>&1
Tým zaistíme, že sa skript bude vykonávať každých 30 minút pod používateľom root. Štandardný (STDOUT) aj chybový (STDERR) výstup zo skriptu nájdeme v súbore /root/result.txt.
UNIX shell je krásny, dokáže Vám ušetriť kopec hodín potrebných pre administráciu systému Linux.