Automatizovat systém Linux je dobrý nápad, SHELL skripty skripty tvoří základní stavební kámen pro automatizaci Linuxů. Vyšší level představují PERL skripty, které obsahují poročilé nástroje pro analýzu a zpracování textu. Jak si vytvoříme ultra-jednoduchý shellovský skript?
Vytvoříme si soubor skirptik.sh, který bude obsahovat jen jeden příkaz. Příkaz rsync s těmito parametry funguje pro inkrementální zálohování. Před prvním spuštěním skriptu si nejprve vytvoříme složku / záloha:
#!/bin/bash
# komentar
rsync -a /home/* /zaloha
První řádek je haspling, který určuje, který systémový interpret spustí skript. Systémový interpret je lepší zadat absolutní cestou (než na ukázce) a musí existovat v seznamu systémových interpretů v /etc/shells.
Momentálně soubor skriptik.sh nemá práva na spouštění, změníme to následujícím příkazem:
# chmod u+x /root/skriptik.sh
Výsledek můžeme ověřit pomocí příkazu:
# ls –l /root/skriptik.sh
Na implicitní spuštění potřebujeme mít práva na spouštění souboru. Skript spustíme implicitně takto:
# /root/skriptik.sh
Na explicitní spouštění nepotřebujeme mít práva na spouštění souboru. Potřebujeme jen práva na čtení. Skript spustíme explicitně takto:
# bash /root/skriptik.sh
V Linuxu funkci plánovače úloh plní cron, v souboru /etc/crontab přidáme na samostatný řádek dolů takový záznam:
*/30 * * * * root /root/skriptik.sh > /root/result.txt 2>&1
Tím zajistíme, že se skript bude provádět každých 30 minut pod uživatelem root. Standardní (STDOUT) i chybový (STDERR) výstup ze skriptu najdeme v souboru /root/result.txt.
UNIX shell je krásný, dokáže Vám ušetřit spoustu hodin potřebných pro administraci systému Linux.
Marián Knězek