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?
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.
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
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
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