Version 13 (modified by JP, 6 years ago)

--

Zmniejszanie logów systemowych

Logi bazodanowe

System generuje dość sporo szczegółowych logów operacji, niektóre z nich po pewnym czasie tracą swoją ważność. W szczególności dotyczy to automatycznie/wsadowo wykonywanych akcji na kartotekach klientów, produktów, pobieraniu maili itp.

W celu zmniejszenia zawartości tabel zaleca się następującą procedurę (do wykonania poza godzinami pracy). Logi możemy podzielić na 3 grupy:

  1. Techniczne - mogą być czyszczone bez specjalnego namysłu, bo informacje tam zawarte mają raczej krótkotrwałą wartość. Najczęściej są to informacje o wykonaniu się jakiejś funkcji itp.
    DELETE FROM contacts_log WHERE chacat = 'BS_SYNC_SUCCESS';
    
    DELETE FROM addresses_log WHERE chacat = 'BS_SYNC_SUCCESS';
    
    DELETE FROM email_accounts_log WHERE chacat IN ('FOLDER_SYNC','EMAIL_CACHE_ADD','EMAIL_CACHE_DELETE','LOG_AUTO_CLEAN');
    
    DELETE FROM depository_log WHERE chacat = 'BS_SYNC_SUCCESS';
    
    -- procedury z odpiętych dokumentów, spraw
    DELETE FROM procedures p WHERE NOT EXISTS (SELECT d.procid FROM documents d WHERE p.procid = d.procid AND d.procid IS NOT NULL) AND
    NOT EXISTS (SELECT d.procid FROM processes d WHERE p.procid = d.procid AND d.procid IS NOT NULL) AND
    NOT EXISTS (SELECT d.procid FROM rcp_cards d WHERE p.procid = d.procid AND d.procid IS NOT NULL) 
    
  1. Administracyjne - mogą być czyszczone ze wszystkich wpisów ale w oparciu o filtr DATY.
    DELETE FROM contacts_log WHERE adddat < CURRENT_DATE - interval '2 years' AND chacat != 'ADDED';
    
    DELETE FROM addresses_log WHERE adddat < CURRENT_DATE - interval '2 years' AND chacat != 'ADDED';
    
    DELETE FROM email_accounts_log WHERE adddat < CURRENT_DATE - interval '2 years' AND chacat != 'ADDED';
    
    DELETE FROM depository_log WHERE adddat < CURRENT_DATE - interval '2 years' AND chacat != 'ADDED';
    
    
  1. Logi obiektów - mogą być czyszczone tylko z technicznych kategorii wpisów

Logi plikowe

Logi w bazie danych to jeden z elementów dzięki, którym możemy odchudzić system. W systemie eDokumenty zapisują się także logi w formie plików tekstowych te również po jakimś czasie tracą ważność.

Lokalizacja plików z logami systemowymi:

/home/edokumenty/public_html/apps/edokumenty/var/log
  • logi procesu BSConnect
    /home/edokumenty/public_html/apps/edokumenty/var/log/BSCONNECT
    
  • logi procesu CronRunner
    /home/edokumenty/public_html/apps/edokumenty/var/log/CRON
    
  • logi procesu FILE PREVIEW - więcej o procesie w tym artykule
    /home/edokumenty/public_html/apps/edokumenty/var/log/FILE_PREVIEW
    
  • logi procesu JET SEARCH - Wyszukiwarka
    /home/edokumenty/public_html/apps/edokumenty/var/log/JET_SEARCH
    
  • logi wykonywania patchy
    /home/edokumenty/public_html/apps/edokumenty/var/log/PATCH_LOG
    
  • logi wykonywania raportów
    /home/edokumenty/public_html/apps/edokumenty/var/log/REPORT
    
  • logi wykonywania aktualizacji na pliku config.inc, aktualizacja wykonywana przez aktualizator eDokumentów (nie zapisują się tutaj zmiany wykonane przez użytkownika)
    /home/edokumenty/public_html/apps/edokumenty/var/log/configPatcher
    

Lokalizacja plików z logami backproca (synchronizacja poczty w tle)

/home/edokumenty/public_html/apps/backproc/log

Do automatyzacji usuwania wpisów starszych niż np 30 dni może posłużyć nam poniższy skrypt. W zależności od tego jakie elementy logów chcemy czyścić możemy utworzyć wpis na cały katalog /home/edokumenty/public_html/apps/edokumenty/var/log lub na poszczególne jego elementy