Adminie - uprość sobie życie

Przedstawiamy rozwiązania mające na celu uproszczenie oraz automatyzację zadań administracyjnych. Bo nie ma takiej infrastruktury IT w której nie można czegoś usprawnić.

W pracy każdego administratora przychodzi taki moment, w którym postanawia on uporządkować swoje codzienne zadania, zautomatyzować czynności wykonywane cyklicznie oraz znaleźć narzędzia, które ułatwią i skrócą skomplikowane procedury związane z jego obowiązkami. Zwykle poszukiwania zaczynają się od możliwości, jakie oferują same systemy operacyjne i narzędzia w nie wbudowane, następnie przychodzi czas na programy zewnętrzne wspomagające prace administratorów, a kończy się na wdrożeniu platformy do kompleksowego zarządzania infrastrukturą. Niestety na ostatnią opcję często mogą pozwolić sobie jedynie większe firmy, chociaż producenci coraz częściej starają się dostosować swoją ofertę również dla małych firm.

Chcemy nieco ułatwić wybór administratorom przedstawiając rozwiązania mające na celu upraszczanie oraz automatyzację zadań administracyjnych. Nie ma infrastruktury, w której nie można czegoś usprawnić i poprawić. Poza tym oszczędzając czas na cyklicznie wykonywanych zadaniach, pozostaje go więcej na inne czynności. W wielu firmach liczba administratorów jest zwykle przewidziana jedynie pod realizację bieżących obowiązków, czyli utrzymanie infrastruktury. Co jednak z jej rozwojem, projektami rozbudowy, wdrożeniami nowego sprzętu oraz testowaniem rozwiązań, które ambitni pracownicy IT chcieliby uruchomić w swoim środowisku?

Nasza lista uwzględnia narzędzia dostępne z poziomu samych systemów operacyjnych. Dodatkowo opisujemy proste, acz praktyczne narzędzia firm trzecich, które znacznie ułatwiają życie administratora.

Narzędzia wbudowane w system

CRON – linuksowy harmonogram zadań

Bez względu na to jakie systemy pracują na naszych serwerach często zachodzi potrzeba wykonywania na nich cyklicznych operacji. O ile w systemach serwerowych Windows można skorzystać z okienkowego Harmonogramu zadań i przypisać do niego wywołanie aplikacji lub skryptu, to w systemach Linuksowych mamy możliwość wykorzystania CRONa, który pomoże nam usprawnić te zadania, które wymagają ponownego uruchomienia co określony czas.

CRON to proces w systemach unixowych, który ma za zadanie wywoływać w tle określone skrypty co jakiś ustalony interwał czasowy. Do jego konfiguracji służy edycja tak zwanych tabel CRONa (/etc/crontab), gdzie wpisuje się po kolei zadania do uruchomienia. Każdy wpis posiada określony schemat, który przedstawiony jest poniżej

* * * * * /katalog/skrypt.sh

Gwiazdki oznaczają interwał czasowy, w jakim skrypt ma zostać uruchomiony. Idąc od lewej każda gwiazdka oznacza po kolei minuty, godziny, dni miesiąca, miesiące oraz na końcu dzień tygodnia. Załóżmy, że chcielibyśmy uruchamiać skrypt w każdą sobotę o godzinie 12. Wtedy wpis będzie wyglądał następująco

* 12 * * 6 /katalog/skrypt.sh

Oczywiście zamiast ścieżki do pliku ze skryptem można bezpośrednio wpisać polecenie. Posłużymy tu się przykładem na cyklicznego wyszukiwania plików większych niż 100MB w katalogach domowych użytkowników. Polecenie chcemy wykonywać każdego 5 dnia kolejnego miesiąca o godzinie 23:30. Rezultatem będzie wpis w crontab w poniższej postaci.

30 23 5 * * find /home -size +100M > /home/admin1/duze_pliki.txt

Należy również pamiętać, aby po każdorazowej zmianie ponownie uruchomić demona (odpowiednik windowsowych serwisów) CRONa.

Harmonogram wykonywania zadań z użyciem CRONa można wykorzystać do automatyzacji wielu czynności, może to być wspomniane monitorowanie przechowywania przez użytkowników dużych plików, wykonywanie backupu, czy proste monitorowanie dostępności adresu IP przez cykliczne wykonanie polecenia ping. Dzięki temu, że Linuksowy harmonogram zadań posiada tak szerokie pole możliwości, pozwala to na znaczne odciążenie pracowników IT od wykonywania poleceń, które wymagają cyklicznego uruchamiania. Pozostaje tylko posiadanie wiedzy na temat konfiguracji i konstrukcji odpowiednich skryptów.

MSSQL – automatyczny backup

Backup baz MSSQL można w bardzo prosty sposób wykonać ręcznie. Jest to dobra metoda na zabezpieczenie danych bazy w przypadku prac serwisowych, gdy robimy to sporadycznie, na żądanie. Natomiast, jeśli administrator na stałe chce zabezpieczyć swoje bazy wykonując cykliczny backup w wyznaczonym to tego oknie czasowym (które niejednokrotnie przypada w nocy) może skorzystać z wielu dostępnych na rynku aplikacji do backupu SQL lub użyć do tego wbudowanych w sam MS SQL narzędzi.

Przy użyciu Management Studio można wykorzystać usługę SQL Server Agent, która pozwala zautomatyzować zadania wykonywania kopii zapasowych. SQL Server Agent wykonuje zadania (Joby) według określonych przez administratora parametrów (np.: czasu , w którym zadanie ma się wykonać). Aby utworzyć nowe zadanie należy w oknie exploratora serwera baz danych (w aplikacji Management Studio) zaznaczyć SQL Server Agent i w gałęzi Jobs używając prawego przycisku myszy wybrać polecenie New Job. W otwartym oknie definiuje się wszystkie parametry zadania. Dwa najważniejsze kroki, jakie należy określić to czynności, które ma wykonywać Job (zakładka Steps) oraz ustala harmonogram ich wykonania w zakładce Schedules. Dla backupu baz wykonuje się polecenie BACKUP DATABASE. W poniższym przykładzie wykonany zostanie backup bazy SQL_test do pliku w katalogu na dysku D:

BACKUP DATABASE [SQL_test]

TO DISK = N'D:\SQL_Backups\SQL_test_16_05_2015.bak'

GO

Dodatkowo w konfiguracji Joba można również określić alerty i notyfikacje, które usprawnią pracę I kontrolę nad poprawnością wykonania.

SQL Server Agent i możliwość tworzenia Jobów to nie tylko backup baz. Cykliczne uruchamianie Jobów można wykorzystać również do innych zadań administracyjnych, które należy wykonać na serwerze baz danych lub samych bazach.

Powyższa procedura dotyczy płatnej wersji silnika Microsoft SQL Server. W darmowej wersji MS SQL Express niestety nie ma SQL Server Agenta. Jak w takim razie poradzić sobie z cyklicznym wykonywaniem backupów. Jednym ze sposobów jest wykorzystanie narzędzia linii poleceń SQLCMD uruchamianego za pomocą standardowego harmonogramu zadań w systemie Windows Server.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200