[oracle@product ~]$ crontab -l # @id EXPORT-PUBLIC1_IMPORT_DATA # @author pukl # @mail pukl.stepan@bisnode.cz # @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 # @mail pukl.stepan@bisnode.cz # @redmine http://redmine.bisnode.cz/projects/exporty-a-replikace/ # @popis Kontroluje neopravnene pristupy plus maze historii pristupu starsich 14 dnu 01 4 * * 1-7 /srv/skripty/watchman_access.sh >>/srv/log/watchman_access.sh.log 2>&1 # # @id MEZISKLAD_EXPORT # @author Berka # @mail tomas.mikus@bisnode.cz # @redmine http://redmine.bisnode.cz/projects/exporty-a-replikace/ # @popis Export meziskladu pro TMI 20 05,20 * * 1-7 /srv/skripty/mezisklad_export.sh >>/srv/log/mezisklad_export.sh.log 2>&1 # # @id BACKUP_SEQUENCE # @author Pukl # @mail stepan.pukl@bisnode.cz # @redmine http://redmine.bisnode.cz/projects/exporty-a-replikace/ # @popis Zaloha sekvenci na productu a na publicu 00 00,6,12,18 * * 1-5 /srv/skripty/backup_sequence.sh >>/srv/log/backup_sequence.sh.log 2>&1 ##-----------------------------------------R E P L I K A C E A T R A N S F OR M A C E ----------------------------------------------- # # @id EXPORT_PUBLIC # @author Berka # @mail stepan.pukl@bisnode.cz # @redmine http://redmine.bisnode.cz/projects/exporty-a-replikace/ # @popis Export neomagu na Public(J.B.) s metadatama - jede v testu - uz ne 05 6 * * 1-5 /srv/skripty/export_public.sh >>/srv/log/pupik_export.sh.log 2>&1 # # @id INHOUSE_EXPORT_V2 # @author Sedivy # @mail martin.sedivy@bisnode.cz # @redmine http://redmine.bisnode.cz/projects/exporty-a-replikace/ # @popis Export replikacnich dat pro zakazniky Inhouse 50 17 * * 1-5 /srv/skripty/inhouse_export_v2/inhouse_export.sh run all >>/srv/log/inhouse_export_v2.sh.log 2>&1 #*/1 * * * * /srv/skripty/inhouse_export_v2/inhouse_export_test.sh run all # # @id INHOUSE_EXPORT # @author Franek # @mail radomir.franek@bisnode.cz # @redmine http://redmine.bisnode.cz/projects/exporty-a-replikace/ # @popis Export replikacnich dat pro zakazniky Inhouse a vnitrni CRM, DnB a Soliditet 30 18 * * 1-5 /srv/skripty/inhouse_export.sh >>/srv/log/inhouse_export.sh.log 2>&1 # # @id EXPORT_PUBLIC_DAILY # @author Pukl # @mail stepan.pukl@bisnode.cz # @redmine http://redmine.bisnode.cz/projects/exporty-a-replikace/ # @popis Denni preplikace exportu na public- docasne pozastaveno kvuli migraci 01 22 * * 1-7 /srv/skripty/export_public_daily.sh >>/srv/log/pupik_export_daily.sh.log 2>&1 # # @id IMPORT_BEZ_METADAT # @author Pukl # @mail stepan.pukl@bisnode.cz # @redmine http://redmine.bisnode.cz/projects/exporty-a-replikace/ # @popis Import dat do magnuswebu */1 * * * 1-7 /srv/skripty/import.sh >>/srv/log/import.sh.log 2>&1 # # @id TEST_CONTROL_FILE # @author Pukl # @mail stepan.pukl@bisnode.cz # @redmine http://redmine.bisnode.cz/projects/exporty-a-replikace/ # @popis Kontrola ridicich souboru */60 * * * 1-7 /srv/skripty/test_control_file.sh >>/dev/null 2>&1 # # @id SOLIDITET_PLATEBKY_EXPORT-16012026 SPU zakomentoval na zadost JBA # @author Pukl # @mail stepan.pukl@bisnode.cz # @redmine http://redmine.bisnode.cz/projects/exporty-a-replikace/ # @popis Specialni Export replikacnich dat pro soliditet #05 20 * * 1,2,3,4,5,7 /srv/skripty/soliditet_platebky_export.sh >>/srv/log/soliditet_platebky_export.sh.log 2>&1 # # @id SOLIDITET_EXPORT_ALL # @author Sedivy # @mail martin.sedivy@bisnode.cz # @redmine http://redmine.bisnode.cz/projects/exporty-a-replikace/ # @popis Export Soliditet all on first sunday in month #00 09 * * 7 /srv/skripty/soliditet_export_all.sh >>/srv/log/soliditet_export_all.sh.log 2>&1 # # @id EXPORT DAT HBI # @author sedivy # @mail martin.sedivy@bisnode.com # @popis Export dat pro HBI #00 20 * * 1-5 /srv/skripty/export_hbi_new.sh >>/srv/log/export_hbi_new.sh.log 2>&1 #@id PRESUN A SMAZANI STARYCH LOGU # @author sedivy # @mail martin.sedivy@bisnode.com # @popis PRESUN A SMAZANI STARYCH LOGU 10 4 * * * /srv/skripty/oracle_log.sh >> /srv/log/oracle_log.log 2>&1 # # @id BACKUP_ARCHIVE_REDO # @author janik # @popis zaloha archive redo logs #5,35 1-23/2 * * * /srv/skripty/backup_archive_redo.sh >> /srv/log/product_backup_archive_redo.log 2>&1 #0 1-23/2 * * * /srv/skripty/backup_archive_redo.sh >> /srv/log/product_backup_archive_redo.log 2>&1 #30 * * * * /srv/skripty/backup_archive_redo.sh >> /srv/log/product_backup_archive_redo.log 2>&1 30 0-19 * * * /srv/skripty/rman_backup.sh PRODUCT arc /mnt/product/product_rman_backup 2 1 2>&1 # # @id BACKUP_DATABASE # @author janik # @popis zaloha databaze incremental level 0 #30 19 * * 1,2,3,4,5 /srv/skripty/backup_db_incr_0.sh >> /srv/log/product_backup_db_incr_0.log 2>&1 #35 19 * * * /srv/skripty/backup_db_incr_0.sh >> /srv/log/product_backup_db_incr_0.log 2>&1 # backup LHA 30.10.2023 SPU 24.11.2023 posunuti na 20h 0 20 * * * /srv/skripty/rman_backup.sh PRODUCT full /mnt/product/product_rman_backup 2 1 2>&1 # # @id DISK_SPACE # @author janik # @popis kontrola volneho mista na /oradata2 15,45 * * * * /srv/skripty/disk_space.sh >> /srv/log/disk_space.sh.log 2>&1 # # @id pull centipede export configs # @author sedivy # @popis pull config files from git to /srv/skripty/configs * * * * * cd /srv/skripty/configs/ && ssh-agent bash -c 'ssh-add /home/oracle/.ssh/id_rsa_git; git pull origin master' > /srv/log/centipede_export_pull_configs.log 2>&1 # # @id shrink tablespace # @author pukl # @popis logovani bezicich procesu 01 08 * * 6 /srv/skripty/shrink_tablespace.sh # # GEM - uklid starych logu listeneru pres ADRCI - netreba spoustet ###05 6 * * * /home/oracle/adr_purge.sh &> /home/oracle/adr_purge.log # GEM - uklid audit logu db 30 6 * * * /home/oracle/audit_delete.sh &> /home/oracle/audit_delete.log