Jun 18, 2026, 10:18 AM
This commit is contained in:
@@ -5,6 +5,40 @@
|
||||
# @redmine http://redmine.bisnode.cz/projects/exporty-a-replikace/
|
||||
# @popis Export importnich dat neomagu na Public bez metadata(SPU)
|
||||
*/15 7-17 * * 1-5 /srv/skripty/export_public_without_metadata.sh >>/srv/log/export_public_without_metadata.sh.log 2>&1
|
||||
|
||||
Skrypt służy do automatyzacji procesu eksportu danych z bazy Oracle (najprawdopodobniej z serwera product) i przesyłania ich na serwer zdalny (public.cekia.cz). Jest on zintegrowany z zewnętrznym systemem logowania i najprawdopodobniej uruchamiany z poziomu harmonogramu zadań (cron).
|
||||
|
||||
🛠️ Główne kroki i logika działania:
|
||||
Inicjalizacja środowiska:
|
||||
|
||||
Skrypt określa swoją lokalizację (myPath) i nazwę (myScript).
|
||||
Wczytuje (source) dwa zewnętrzne pliki: /usr/local/bin/init_sets.sh oraz /usr/local/bin/init_sets_db.sh. Pliki te prawdopodobnie definiują najważniejsze zmienne środowiskowe (np. ścieżki $dp_dir, dane logowania $CONNECT_RPLEXPORT, klucze SSH $sshreplcopy).
|
||||
Zarządzanie logowaniem (Batch Logging):
|
||||
|
||||
Wykorzystuje niestandardowe funkcje LOG_START_BATCH i LOG_END_BATCH do śledzenia statusu wykonania skryptu w jakiejś bazie lub pliku logów, przypisując mu unikalny identyfikator ($run_id).
|
||||
Mechanizm blokady (Locking / Mutex):
|
||||
|
||||
Sprawdza, czy w katalogu $repl_running_export istnieje plik z_done.dat.
|
||||
Jeśli istnieje: Skrypt zakłada, że poprzedni proces eksportu nadal trwa. Loguje tę informację, zamyka proces logowania funkcji batch i przerywa działanie (exit).
|
||||
Jeśli nie istnieje: Przechodzi do głównego bloku else i tworzy wspomniany plik blokady poprzez skopiowanie go z $dp_dir.
|
||||
Wykonanie eksportu z Oracle:
|
||||
|
||||
Uruchamia podproces logowania.
|
||||
Ustawia flagę #h# w lokalnym pliku z_done.dat i nadaje mu maksymalne uprawnienia (chmod 777).
|
||||
Łączy się z bazą za pomocą sqlplus i odpala skrypt SQL: export_run_without_metadata.sql, przekazując do niego ID procesu. Wyniki zapisuje w pliku logu.
|
||||
Przetwarzanie i transfer plików:
|
||||
|
||||
Po 5-sekundowym opóźnieniu (sleep 5), zmienia uprawnienia na 777 dla wygenerowanych plików dump (.dmp).
|
||||
Kompresuje zrzuty za pomocą gzip.
|
||||
Kopiuje pliki dump oraz plik flagi (z_done.dat) przez sieć używając protokołu SCP i klucza SSH na serwer public.cekia.cz.
|
||||
Usuwa lokalne skompresowane pliki, uwalniając przestrzeń dyskową.
|
||||
Zakończenie i sprzątanie:
|
||||
|
||||
Przenosi bieżący plik logu do katalogu archiwalnego z datą w nazwie.
|
||||
Usuwa plik blokady z_done.dat z katalogu $repl_running_export.
|
||||
Zamyka główny proces logowania batcha wywołując LOG_END_BATCH.
|
||||
|
||||
|
||||
#
|
||||
# @id LOGON_UNAUTHORIZED_ACCES
|
||||
# @author pukl
|
||||
|
||||
Reference in New Issue
Block a user