From 7db6bbeb6f28e8d0e62e59fe35ead249fe623dcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Doma=C5=84ski?= Date: Thu, 18 Jun 2026 08:20:40 +0000 Subject: [PATCH] Jun 18, 2026, 10:20 AM --- .../product.bisnode.cz/scripts/init_sets.sh | 28 +++ .../scripts/init_sets_db.sh | 204 ++++++++++++++++++ 2 files changed, 232 insertions(+) create mode 100644 inbox/ORACLE CZ/product.bisnode.cz/scripts/init_sets_db.sh diff --git a/inbox/ORACLE CZ/product.bisnode.cz/scripts/init_sets.sh b/inbox/ORACLE CZ/product.bisnode.cz/scripts/init_sets.sh index 955c910..ca33145 100644 --- a/inbox/ORACLE CZ/product.bisnode.cz/scripts/init_sets.sh +++ b/inbox/ORACLE CZ/product.bisnode.cz/scripts/init_sets.sh @@ -5,6 +5,34 @@ # defunije funkce pushLog() Notify() makePID() removePID() # autor: Ales Cernik # +/** +Skrypt init_sets.sh to uniwersalny plik pomocniczy (tzw. plik konfiguracyjny/biblioteczny), który jest wczytywany (poprzez polecenie source lub .) przez inne skrypty Bash, aby zapewnić im standaryzowane środowisko pracy. Z komentarzy wynika, że jest on zarządzany automatycznie przez system Puppet. + +Oto co dokładnie robi i jakie funkcje udostępnia: + +1. Inicjalizacja zmiennych i środowiska +Ustalenie nazwy uruchomionego skryptu (myScript) w celu ujednolicenia nazewnictwa plików. +Ustalenie katalogu logów (logDir). Skrypt szuka katalogu /opt/log, a jeśli go nie ma, próbuje /srv/log. Jeśli żaden nie istnieje – przerywa działanie z błędem. +Ustalenie ścieżki docelowego pliku z logami (logFile), np. /opt/log/nazwa_twojego_skryptu.sh.log. +Pobranie nazwy hosta (myHost) oraz definicja adresu serwera monitoringu Nagios/Centreon (NAGIOSHOST="centreon.bisnode.cz"). +Utworzenie ścieżki do pliku blokady/PID w /tmp/ dla danego skryptu (lock_file). +2. Definicje przydatnych funkcji (do użycia w innych skryptach) +Skrypt definiuje cztery główne funkcje, z których mogą korzystać skrypty nadrzędne: + +pushLog() Zwykła funkcja logująca, która dopisuje przekazane do niej argumenty (tekst) na koniec zdefiniowanego pliku logu. + +Notify() Służy do wysyłania pasywnych powiadomień do systemu monitoringu (Centreon/Nagios). Przyjmuje kod statusu (0=OK, 1=Warning, 2=Error) oraz wiadomość. Zapisuje wiadomość do lokalnego logu używając pushLog, a następnie wysyła alert do serwera Nagios za pomocą narzędzia send_nsca. + +makePID() Implementuje mechanizm wyłączności (mutex), zapobiegając równoległemu uruchomieniu kilku instancji tego samego skryptu. + +Czyta identyfikator procesu (PID) z pliku blokady. +Sprawdza w systemowym katalogu /proc/, czy proces o takim PID nadal żyje. +Jeśli proces działa – funkcja bezgłośnie przerywa działanie kolejnej instancji skryptu. +Jeśli proces nie działa, zapisuje bieżący PID ($$) do pliku blokady i pozwala skryptowi kontynuować działanie. W razie błędu przy zapisie powiadamia Nagiosa i kończy z błędem. +removePID() Funkcja sprzątająca – po prostu usuwa plik blokady (PID), aby zwolnić "kolejkę" dla kolejnych uruchomień skryptu. + +Podsumowując: Jest to klasyczna "namiastka biblioteki" dla skryptów administracyjnych, ujednolicająca sposób ich logowania, raportowania błędów do systemu monitoringu oraz chroniąca przed zduplikowanym uruchomieniem zadań w tle (cron). +**/ myScript=${0##*/} #myPath="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" #" diff --git a/inbox/ORACLE CZ/product.bisnode.cz/scripts/init_sets_db.sh b/inbox/ORACLE CZ/product.bisnode.cz/scripts/init_sets_db.sh new file mode 100644 index 0000000..a88740b --- /dev/null +++ b/inbox/ORACLE CZ/product.bisnode.cz/scripts/init_sets_db.sh @@ -0,0 +1,204 @@ +#!/bin/bash + +############################################################ +## DB ORACLE SET +#export datumcas=$(date -d "-7days" +%d%m%Y%H%M%S%N) +export datumcas=$(date '+%Y %b %d %H:%m') +export datumcas7=$( date -d "-7days" +%d%m%Y%H%M%S%N) +export CONNECT_USER="product_run/4_j3d3m" +export CONNECT_IMPORT="import/cekia" +export CONNECT_RPLIMPORT="rplimport/beruska" +export CONNECT_MW_DW="mw_dw/beruska" +export CONNECT_RPLEXPORT="rplexport/beruska" +export CONNECT_MAJITEL="majitel/uz_zase_makam" +export CONNECT_NEOMAG="neomag/beruska" +export CONNECT_TVKNEOMAG="tvkneomag/tvkneomag" +export CONNECT_MGN2NEO="mgn2neo/mgn2neo" +##export CONNECT_SYSTEM="system/" +export CONNECT_MIGRACEDB="migracedb/s0s4k" +export CONNECT_MANAGER="manager/m4n4g3r" +export CONNECT_IDENTIFIER="product" +export BATCH_ID=0 +export repl_running_export=/srv/skripty/running/export +export repl_running_import=/srv/skripty/running/import +export repl_running_replikace=/srv/skripty/running/replikace +export repl_running_replikace_solidited=/srv/skripty/running/solidited +export SkriptyPath=/srv/skripty +export SQLPath=/srv/skripty/sql +export SQLConf=/srv/skripty/conf +export dp_dir=/repository/dp_dir +export imp_dir=/repository/imp_dir +export public2_dir=/repository/public2_dir +export dp_backup=/repository/db_backup +export data_bg=/oradata2/mwdw_dir +export csv_dir=/repository/csv_dir +export sol_dir=/repository/solidited +export dbf_dir=/repository/dbf_dir +export albertina_dbf_dir=/repository/albertina_dbf +export skofin_dir=/repository/skofin_dir +export dp_dir_archiv=/repository/dp_dir/archiv +export imp_dir_archiv=/repository/imp_dir/archiv +#export inhouse_archiv=/repository/inhouse_archiv +export inhouse_archiv=/oradata2/dp_dir/inhouse_archiv +export dp_dir_running_file=/repository/dp_dir/running_file +export imp_dir_running_file=/repository/imp_dir/running_file +export CekiaToDnB_global=/repository/CekiaToDnB-global +export archiv_ext_neomag_archiv=/repository/ora_extdata_backup/neomag/archiv +export archiv_ext_neomag=/repository/ora_extdata_backup/neomag +export archiv_ext_import_archiv=/repository/ora_extdata_backup/import/archiv +export archiv_ext_import=/repository/ora_extdata_backup/import +export ora_extdata_neomag=/repository/ora_extdata_neomag +export ora_extdata_import=/repository/ora_extdata_import +export db_backup=/repository/db_backup +export transformace_DNB=/srv/skripty/transformaceDnB +export subject_DnB=/mnt/subj_for_dnb/ +export sshreplcopy=/home/oracle/.ssh/id_replcopy +export sol_amalka=/mnt/Soliditet/ +export sol_kremilek=/mnt/Soliditet_kremilek/ +export sol_kremilek_dbf=/mnt/Soliditet_kremilek/albertina_dbf/ +export java_lib=/mnt/java_lib +export synchr_db=/mnt/synchro_oracle_db +export grc_mssql_dir=/repository/grc_mssql_dir +export csob_dir=/oradata2/csob_dir +export csob_albertina_dir=/repository/csob_albertina_dir +export secret_dir=/repository/secret_dir +export ucl_dir=/repository/ucl_dir +export coronaindex_dir=/repository/bisnode_group_coronaindex +## Nastaveni email promenych +export send_mail_hl_pr=stepan.pukl@bisnode.com +export send_mail_admin=stepan.pukl@bisnode.com,martin.sedivy@bisnode.com +export send_mail_cervak=jiri.cervak@bisnode.com +export send_mail_danda=tomas.danda@bisnode.com +export send_mail_export_katastr_sr=udaje@bisnode.com,Michael.Babka@bisnode.com,Stepan.Pukl@bisnode.com +export send_mail_cez_ict=udaje@bisnode.com,stepan.pukl@bisnode.com,jana.kotoucova@bisnode.cz +export send_mail_klv=stepan.pukl@bisnode.com,udaje@bisnode.com,pavel.kral@bisnode.com,Eva.Konradyova@bisnode.com,Tomas.Fuxa@bisnode.com +export send_mail_dnb_db=stepan.pukl@bisnode.com,jiri.cervak@bisnode.com,Kristyna.Kocova@bisnode.com,Eva.Konradyova@bisnode.com,jana.kotoucova@bisnode.com,pavel.kral@bisnode.com,Tomas.Fuxa@bisnode.com,Lenka.Jarosova@bisnode.com,Zuzana.Prokopova@bisnode.com,Martin.Simacek@bisnode.com,Zuzana.Skalova@bisnode.com,Monika.Rehakova@bisnode.com,Nela.Erbanova@bisnode.com,pavel.pastyrik@bisnode.com,bozena.bankova@bisnode.com,kristina.markova@bisnode.com +export send_mail_export_cocacola=terezia.izarova@cchellenic.com,marie.saskova@cchellenic.com,pukls@dnb.com,StuchlikR@dnb.com,kotoucovaj@dnb.com,pavlinam@dnb.com,momuto@dnb.com,bartovae@dnb.com +export send_mail_export_bvd_isir=Radek.Stuchlik@bisnode.com,jana.cechova@bisnode.com,zuzana.prokopova@bisnode.com,dana.cihakova@bisnode.com + +## Nastaveni Oracle promenych +ORACLE_BASE=/oracle/product +ORACLE_HOME=/oracle/product/19c +ORACLE_SID=PRODUCT +export ORACLE_BASE ORACLE_HOME ORACLE_SID +PATH=$ORACLE_HOME/bin:$PATH +export PATH + +#oksystem_db@bisnode.cz je mail na janik@oksystem.cz +export DBA_MAIL="oracle@public.cekia.cz","oksystem_db@bisnode.cz" +export DBA_MAIL_TEST="oracle@public.cekia.cz","oksystem_db@bisnode.cz" + + +# Funkce pro centr▒ln▒ logov▒n▒ + +#parametre: +# BATCH_NAME (optional) +# PARENT_BATCH_ID (optional) +LOG_START_BATCH () { + local batch_name + local parent_batch_id + local status + local retval + #poresim parametry + if [ "$#" -eq 0 ] ; then + batch_name="'$BATCH_NAME'" + parent_batch_id=null + status="'running'" + elif [ "$#" -eq 1 ] ; then + batch_name="'$1'" + parent_batch_id=null + status="'running'" + elif [ "$#" -eq 2 ] ; then + batch_name="'$1'" + parent_batch_id="'$2'" + status="'planned'" + else + exit -3 + fi + echo "neomag.log.start_batch($batch_name,null,null,$status,$parent_batch_id);" + #zalozim batch v tabulce neomag.a_control_process_log +#retval=`sqlplus $CONNECT_USER <