Jun 18, 2026, 10:18 AM

This commit is contained in:
Paweł Domański
2026-06-18 08:18:39 +00:00
parent ec9c6fdeef
commit 2180641c3b
+34
View File
@@ -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