Jak utworzyć skrypt powłoki w systemie Linux dla CRON?

Automatyzacja systemu Linux to dobry pomysł, skrypty SHELL to podstawowy element składowy automatyzacji systemu Linux. Wyższy poziom reprezentują skrypty PERL, które zawierają narzędzia raportowe do analizy i przetwarzania tekstu. Jak stworzyć ultraprosty skrypt powłoki?

Utwórz plik skriptik.sh

Stworzymy plik skirptik.sh, który będzie zawierał tylko jedno polecenie. Polecenie rsync z tymi parametrami działa w przypadku przyrostowych kopii zapasowych. Przed pierwszym uruchomieniem skryptu tworzymy najpierw folder /backup:

#!/bin/bash

# komentarz

rsync -a /home/* /backup

Pierwsza linia to haspling określający, który interpreter systemowy uruchomi skrypt. Interpreter systemowy lepiej jest określić jako ścieżkę bezwzględną (niż w przykładzie) i musi istnieć na liście interpreterów systemowych w /etc/shells.

Zmień prawa dostępu

Obecnie plik skriptik.sh nie ma uprawnień do wykonywania, zmienimy to za pomocą następującego polecenia:

# chmod u+x /root/skriptik.sh

Możemy zweryfikować wynik za pomocą polecenia:

# ls –l /root/skriptik.sh

Uruchom skrypt

Aby wykonać niejawnie, musimy mieć uprawnienia do wykonywania plików. Uruchamiamy skrypt pośrednio w następujący sposób:

# /root/skriptik.sh

Nie musimy mieć uprawnień do wykonania pliku w celu jawnego wykonania. Potrzebujemy tylko uprawnień do odczytu. Uruchamiamy skrypt jawnie w następujący sposób:

# bash /root/skriptik.sh

Wstaw do harmonogramu zadań

W Linuksie funkcję harmonogramu zadań pełni cron, w pliku /etc/crontab dodajemy taki wpis w osobnej linii na dole:

*/30 * * * * root /root/skriptik.sh > /root/result.txt 2>&1

Dzięki temu skrypt będzie wykonywany co 30 minut na koncie użytkownika root. Standardowe (STDOUT) i błędy (STDERR) dane wyjściowe skryptu można znaleźć w pliku /root/result.txt.

Powłoka UNIX jest piękna, może zaoszczędzić wiele godzin potrzebnych na administrację systemem Linux.

Marián Knězek