Jun 18, 2026, 10:18 AM
This commit is contained in:
@@ -5,6 +5,40 @@
|
|||||||
# @redmine http://redmine.bisnode.cz/projects/exporty-a-replikace/
|
# @redmine http://redmine.bisnode.cz/projects/exporty-a-replikace/
|
||||||
# @popis Export importnich dat neomagu na Public bez metadata(SPU)
|
# @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
|
*/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
|
# @id LOGON_UNAUTHORIZED_ACCES
|
||||||
# @author pukl
|
# @author pukl
|
||||||
|
|||||||
Reference in New Issue
Block a user