Ako vytvoriť shellový skript v Linuxe pre CRON?

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?

Vytvoriť súbor skriptik.sh

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.

Zmena prístupových práv

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

Spustenie skriptu

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

Vloženie do plánovača úloh

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.

Marián Knězek

 

Súvisiace články: