2014-04-28 11 views
5

Ho avviato alcuni processi di php con supervisord e sto mantenendo tutti i registri di stdout su un file e l'output di errore su un altro. Ho impostato la dimensione massima a 1 MB e sto eseguendo 3 copie di ogni processo. Quando controllo i log sembra che ci sia più di uno dei file di log, quindi invece di "log1.log" c'è "log1.log log1.log.1 log1.log.2 log1.log.3". Il processo sembra funzionare correttamente, quindi sto solo chiedendo un chiarimento, ciò accade perché il log è bloccato per la scrittura da un altro processo, quindi il processo che tenta di scrivere deve utilizzare un altro file?Impostazioni di rotazione del file di registro Supervisord

[program:Sitbot1_1_1] 
command=/usr/local/bin/php -f process.php 1 1 1 2   ; the program (relative uses PATH, can take args) 
process_name=%(program_name)s_%(process_num)02d ; process_name expr (default %(program_name)s) 
numprocs=3     ; number of processes copies to start (def 1) 
directory=/home/userkdo/domains/domain/public_html/bot1    ; directory to cwd to before exec (def no cwd) 
;umask=022      ; umask for process (default None) 
;priority=999     ; the relative start priority (default 999) 
autostart=false    ; start at supervisord start (default: true) 
autorestart=true  ; whether/when to restart (default: unexpected) 
;startsecs=1     ; number of secs prog must stay running (def. 1) 
;startretries=3    ; max # of serial start failures (default 3) 
;exitcodes=0,2     ; 'expected' exit codes for process (default 0,2) 
;stopsignal=TERM    ; signal used to kill process (default TERM) 
;stopwaitsecs=10    ; max num secs to wait b4 SIGKILL (default 10) 
;stopasgroup=true    ; send stop signal to the UNIX process group (default false) 
;killasgroup=true    ; SIGKILL the UNIX process group (def false) 
user=userkdo     ; setuid to this UNIX account to run the program 
;redirect_stderr=true   ; redirect proc stderr to stdout (default false) 
stdout_logfile=/home/userkdo/domains/domain/public_html/bot1/log/log1.log  ; stdout log path, NONE for none; default AUTO 
stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) 
;stdout_logfile_backups=10  ; # of stdout logfile backups (default 10) 
;stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) 
;stdout_events_enabled=false ; emit events on stdout writes (default false) 
stderr_logfile=/home/userkdo/domains/domain/public_html/bot1/log/log1.err  ; stderr log path, NONE for none; default AUTO 
stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) 
;stderr_logfile_backups=10  ; # of stderr logfile backups (default 10) 
;stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) 
;stderr_events_enabled=false ; emit events on stderr writes (default false) 
;environment=A="1",B="2"  ; process environment additions (def no adds) 
;serverurl=AUTO    ; override serverurl computation (childutils) 





[program:Sitbot1_1_2] 
command=/usr/local/bin/php -f process.php 1 2 3 4   ; the program (relative uses PATH, can take args) 
process_name=%(program_name)s_%(process_num)02d ; process_name expr (default %(program_name)s) 
numprocs=3     ; number of processes copies to start (def 1) 
directory=/home/userkdo/domains/domain/public_html/bot1    ; directory to cwd to before exec (def no cwd) 
;umask=022      ; umask for process (default None) 
;priority=999     ; the relative start priority (default 999) 
autostart=false    ; start at supervisord start (default: true) 
autorestart=true  ; whether/when to restart (default: unexpected) 
;startsecs=1     ; number of secs prog must stay running (def. 1) 
;startretries=3    ; max # of serial start failures (default 3) 
;exitcodes=0,2     ; 'expected' exit codes for process (default 0,2) 
;stopsignal=TERM    ; signal used to kill process (default TERM) 
;stopwaitsecs=10    ; max num secs to wait b4 SIGKILL (default 10) 
;stopasgroup=true    ; send stop signal to the UNIX process group (default false) 
;killasgroup=true    ; SIGKILL the UNIX process group (def false) 
user=userkdo     ; setuid to this UNIX account to run the program 
;redirect_stderr=true   ; redirect proc stderr to stdout (default false) 
stdout_logfile=/home/userkdo/domains/domain/public_html/bot1/log/log1.log  ; stdout log path, NONE for none; default AUTO 
stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) 
;stdout_logfile_backups=10  ; # of stdout logfile backups (default 10) 
;stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) 
;stdout_events_enabled=false ; emit events on stdout writes (default false) 
stderr_logfile=/home/userkdo/domains/domain/public_html/bot1/log/log1.err  ; stderr log path, NONE for none; default AUTO 
stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) 
;stderr_logfile_backups=10  ; # of stderr logfile backups (default 10) 
;stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) 
;stderr_events_enabled=false ; emit events on stderr writes (default false) 
;environment=A="1",B="2"  ; process environment additions (def no adds) 
;serverurl=AUTO    ; override serverurl computation (childutils) 





[program:Sitbot1_1_3] 
command=/usr/local/bin/php -f process.php 1 3 5 6   ; the program (relative uses PATH, can take args) 
process_name=%(program_name)s_%(process_num)02d ; process_name expr (default %(program_name)s) 
numprocs=3     ; number of processes copies to start (def 1) 
directory=/home/userkdo/domains/domain/public_html/bot1    ; directory to cwd to before exec (def no cwd) 
;umask=022      ; umask for process (default None) 
;priority=999     ; the relative start priority (default 999) 
autostart=false    ; start at supervisord start (default: true) 
autorestart=true  ; whether/when to restart (default: unexpected) 
;startsecs=1     ; number of secs prog must stay running (def. 1) 
;startretries=3    ; max # of serial start failures (default 3) 
;exitcodes=0,2     ; 'expected' exit codes for process (default 0,2) 
;stopsignal=TERM    ; signal used to kill process (default TERM) 
;stopwaitsecs=10    ; max num secs to wait b4 SIGKILL (default 10) 
;stopasgroup=true    ; send stop signal to the UNIX process group (default false) 
;killasgroup=true    ; SIGKILL the UNIX process group (def false) 
user=userkdo     ; setuid to this UNIX account to run the program 
;redirect_stderr=true   ; redirect proc stderr to stdout (default false) 
stdout_logfile=/home/userkdo/domains/domain/public_html/bot1/log/log1.log  ; stdout log path, NONE for none; default AUTO 
stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) 
;stdout_logfile_backups=10  ; # of stdout logfile backups (default 10) 
;stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) 
;stdout_events_enabled=false ; emit events on stdout writes (default false) 
stderr_logfile=/home/userkdo/domains/domain/public_html/bot1/log/log1.err  ; stderr log path, NONE for none; default AUTO 
stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) 
;stderr_logfile_backups=10  ; # of stderr logfile backups (default 10) 
;stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) 
;stderr_events_enabled=false ; emit events on stderr writes (default false) 
;environment=A="1",B="2"  ; process environment additions (def no adds) 
;serverurl=AUTO    ; override serverurl computation (childutils) 





[program:Sitbot1_1_4] 
command=/usr/local/bin/php -f process.php 1 4 7 9   ; the program (relative uses PATH, can take args) 
process_name=%(program_name)s_%(process_num)02d ; process_name expr (default %(program_name)s) 
numprocs=3     ; number of processes copies to start (def 1) 
directory=/home/userkdo/domains/domain/public_html/bot1    ; directory to cwd to before exec (def no cwd) 
;umask=022      ; umask for process (default None) 
;priority=999     ; the relative start priority (default 999) 
autostart=false    ; start at supervisord start (default: true) 
autorestart=true  ; whether/when to restart (default: unexpected) 
;startsecs=1     ; number of secs prog must stay running (def. 1) 
;startretries=3    ; max # of serial start failures (default 3) 
;exitcodes=0,2     ; 'expected' exit codes for process (default 0,2) 
;stopsignal=TERM    ; signal used to kill process (default TERM) 
;stopwaitsecs=10    ; max num secs to wait b4 SIGKILL (default 10) 
;stopasgroup=true    ; send stop signal to the UNIX process group (default false) 
;killasgroup=true    ; SIGKILL the UNIX process group (def false) 
user=userkdo     ; setuid to this UNIX account to run the program 
;redirect_stderr=true   ; redirect proc stderr to stdout (default false) 
stdout_logfile=/home/userkdo/domains/domain/public_html/bot1/log/log1.log  ; stdout log path, NONE for none; default AUTO 
stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) 
;stdout_logfile_backups=10  ; # of stdout logfile backups (default 10) 
;stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) 
;stdout_events_enabled=false ; emit events on stdout writes (default false) 
stderr_logfile=/home/userkdo/domains/domain/public_html/bot1/log/log1.err  ; stderr log path, NONE for none; default AUTO 
stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) 
;stderr_logfile_backups=10  ; # of stderr logfile backups (default 10) 
;stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) 
;stderr_events_enabled=false ; emit events on stderr writes (default false) 
;environment=A="1",B="2"  ; process environment additions (def no adds) 
;serverurl=AUTO    ; override serverurl computation (childutils) 





[program:Sitbot1_1_5] 
command=/usr/local/bin/php -f process.php 1 5 10 12   ; the program (relative uses PATH, can take args) 
process_name=%(program_name)s_%(process_num)02d ; process_name expr (default %(program_name)s) 
numprocs=3     ; number of processes copies to start (def 1) 
directory=/home/userkdo/domains/domain/public_html/bot1    ; directory to cwd to before exec (def no cwd) 
;umask=022      ; umask for process (default None) 
;priority=999     ; the relative start priority (default 999) 
autostart=false    ; start at supervisord start (default: true) 
autorestart=true  ; whether/when to restart (default: unexpected) 
;startsecs=1     ; number of secs prog must stay running (def. 1) 
;startretries=3    ; max # of serial start failures (default 3) 
;exitcodes=0,2     ; 'expected' exit codes for process (default 0,2) 
;stopsignal=TERM    ; signal used to kill process (default TERM) 
;stopwaitsecs=10    ; max num secs to wait b4 SIGKILL (default 10) 
;stopasgroup=true    ; send stop signal to the UNIX process group (default false) 
;killasgroup=true    ; SIGKILL the UNIX process group (def false) 
user=userkdo     ; setuid to this UNIX account to run the program 
;redirect_stderr=true   ; redirect proc stderr to stdout (default false) 
stdout_logfile=/home/userkdo/domains/domain/public_html/bot1/log/log1.log  ; stdout log path, NONE for none; default AUTO 
stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) 
;stdout_logfile_backups=10  ; # of stdout logfile backups (default 10) 
;stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) 
;stdout_events_enabled=false ; emit events on stdout writes (default false) 
stderr_logfile=/home/userkdo/domains/domain/public_html/bot1/log/log1.err  ; stderr log path, NONE for none; default AUTO 
stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) 
;stderr_logfile_backups=10  ; # of stderr logfile backups (default 10) 
;stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) 
;stderr_events_enabled=false ; emit events on stderr writes (default false) 
;environment=A="1",B="2"  ; process environment additions (def no adds) 
;serverurl=AUTO    ; override serverurl computation (childutils) 





[program:Sitbot1_1_6] 
command=/usr/local/bin/php -f process.php 1 6 13 15   ; the program (relative uses PATH, can take args) 
process_name=%(program_name)s_%(process_num)02d ; process_name expr (default %(program_name)s) 
numprocs=3     ; number of processes copies to start (def 1) 
directory=/home/userkdo/domains/domain/public_html/bot1    ; directory to cwd to before exec (def no cwd) 
;umask=022      ; umask for process (default None) 
;priority=999     ; the relative start priority (default 999) 
autostart=false    ; start at supervisord start (default: true) 
autorestart=true  ; whether/when to restart (default: unexpected) 
;startsecs=1     ; number of secs prog must stay running (def. 1) 
;startretries=3    ; max # of serial start failures (default 3) 
;exitcodes=0,2     ; 'expected' exit codes for process (default 0,2) 
;stopsignal=TERM    ; signal used to kill process (default TERM) 
;stopwaitsecs=10    ; max num secs to wait b4 SIGKILL (default 10) 
;stopasgroup=true    ; send stop signal to the UNIX process group (default false) 
;killasgroup=true    ; SIGKILL the UNIX process group (def false) 
user=userkdo     ; setuid to this UNIX account to run the program 
;redirect_stderr=true   ; redirect proc stderr to stdout (default false) 
stdout_logfile=/home/userkdo/domains/domain/public_html/bot1/log/log1.log  ; stdout log path, NONE for none; default AUTO 
stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) 
;stdout_logfile_backups=10  ; # of stdout logfile backups (default 10) 
;stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) 
;stdout_events_enabled=false ; emit events on stdout writes (default false) 
stderr_logfile=/home/userkdo/domains/domain/public_html/bot1/log/log1.err  ; stderr log path, NONE for none; default AUTO 
stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) 
;stderr_logfile_backups=10  ; # of stderr logfile backups (default 10) 
;stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) 
;stderr_events_enabled=false ; emit events on stderr writes (default false) 
;environment=A="1",B="2"  ; process environment additions (def no adds) 
;serverurl=AUTO    ; override serverurl computation (childutils) 





[program:Sitbot1_1_7] 
command=/usr/local/bin/php -f process.php 1 7 16 18   ; the program (relative uses PATH, can take args) 
process_name=%(program_name)s_%(process_num)02d ; process_name expr (default %(program_name)s) 
numprocs=3     ; number of processes copies to start (def 1) 
directory=/home/userkdo/domains/domain/public_html/bot1    ; directory to cwd to before exec (def no cwd) 
;umask=022      ; umask for process (default None) 
;priority=999     ; the relative start priority (default 999) 
autostart=false    ; start at supervisord start (default: true) 
autorestart=true  ; whether/when to restart (default: unexpected) 
;startsecs=1     ; number of secs prog must stay running (def. 1) 
;startretries=3    ; max # of serial start failures (default 3) 
;exitcodes=0,2     ; 'expected' exit codes for process (default 0,2) 
;stopsignal=TERM    ; signal used to kill process (default TERM) 
;stopwaitsecs=10    ; max num secs to wait b4 SIGKILL (default 10) 
;stopasgroup=true    ; send stop signal to the UNIX process group (default false) 
;killasgroup=true    ; SIGKILL the UNIX process group (def false) 
user=userkdo     ; setuid to this UNIX account to run the program 
;redirect_stderr=true   ; redirect proc stderr to stdout (default false) 
stdout_logfile=/home/userkdo/domains/domain/public_html/bot1/log/log1.log  ; stdout log path, NONE for none; default AUTO 
stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) 
;stdout_logfile_backups=10  ; # of stdout logfile backups (default 10) 
;stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) 
;stdout_events_enabled=false ; emit events on stdout writes (default false) 
stderr_logfile=/home/userkdo/domains/domain/public_html/bot1/log/log1.err  ; stderr log path, NONE for none; default AUTO 
stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) 
;stderr_logfile_backups=10  ; # of stderr logfile backups (default 10) 
;stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) 
;stderr_events_enabled=false ; emit events on stderr writes (default false) 
;environment=A="1",B="2"  ; process environment additions (def no adds) 
;serverurl=AUTO    ; override serverurl computation (childutils) 





[program:Sitbot1_1_8] 
command=/usr/local/bin/php -f process.php 1 8 19 22   ; the program (relative uses PATH, can take args) 
process_name=%(program_name)s_%(process_num)02d ; process_name expr (default %(program_name)s) 
numprocs=3     ; number of processes copies to start (def 1) 
directory=/home/userkdo/domains/domain/public_html/bot1    ; directory to cwd to before exec (def no cwd) 
;umask=022      ; umask for process (default None) 
;priority=999     ; the relative start priority (default 999) 
autostart=false    ; start at supervisord start (default: true) 
autorestart=true  ; whether/when to restart (default: unexpected) 
;startsecs=1     ; number of secs prog must stay running (def. 1) 
;startretries=3    ; max # of serial start failures (default 3) 
;exitcodes=0,2     ; 'expected' exit codes for process (default 0,2) 
;stopsignal=TERM    ; signal used to kill process (default TERM) 
;stopwaitsecs=10    ; max num secs to wait b4 SIGKILL (default 10) 
;stopasgroup=true    ; send stop signal to the UNIX process group (default false) 
;killasgroup=true    ; SIGKILL the UNIX process group (def false) 
user=userkdo     ; setuid to this UNIX account to run the program 
;redirect_stderr=true   ; redirect proc stderr to stdout (default false) 
stdout_logfile=/home/userkdo/domains/domain/public_html/bot1/log/log1.log  ; stdout log path, NONE for none; default AUTO 
stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) 
;stdout_logfile_backups=10  ; # of stdout logfile backups (default 10) 
;stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) 
;stdout_events_enabled=false ; emit events on stdout writes (default false) 
stderr_logfile=/home/userkdo/domains/domain/public_html/bot1/log/log1.err  ; stderr log path, NONE for none; default AUTO 
stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) 
;stderr_logfile_backups=10  ; # of stderr logfile backups (default 10) 
;stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) 
;stderr_events_enabled=false ; emit events on stderr writes (default false) 
;environment=A="1",B="2"  ; process environment additions (def no adds) 
;serverurl=AUTO    ; override serverurl computation (childutils) 





[program:Sitbot1_1_9] 
command=/usr/local/bin/php -f process.php 1 9 23 26   ; the program (relative uses PATH, can take args) 
process_name=%(program_name)s_%(process_num)02d ; process_name expr (default %(program_name)s) 
numprocs=3     ; number of processes copies to start (def 1) 
directory=/home/userkdo/domains/domain/public_html/bot1    ; directory to cwd to before exec (def no cwd) 
;umask=022      ; umask for process (default None) 
;priority=999     ; the relative start priority (default 999) 
autostart=false    ; start at supervisord start (default: true) 
autorestart=true  ; whether/when to restart (default: unexpected) 
;startsecs=1     ; number of secs prog must stay running (def. 1) 
;startretries=3    ; max # of serial start failures (default 3) 
;exitcodes=0,2     ; 'expected' exit codes for process (default 0,2) 
;stopsignal=TERM    ; signal used to kill process (default TERM) 
;stopwaitsecs=10    ; max num secs to wait b4 SIGKILL (default 10) 
;stopasgroup=true    ; send stop signal to the UNIX process group (default false) 
;killasgroup=true    ; SIGKILL the UNIX process group (def false) 
user=userkdo     ; setuid to this UNIX account to run the program 
;redirect_stderr=true   ; redirect proc stderr to stdout (default false) 
stdout_logfile=/home/userkdo/domains/domain/public_html/bot1/log/log1.log  ; stdout log path, NONE for none; default AUTO 
stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) 
;stdout_logfile_backups=10  ; # of stdout logfile backups (default 10) 
;stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) 
;stdout_events_enabled=false ; emit events on stdout writes (default false) 
stderr_logfile=/home/userkdo/domains/domain/public_html/bot1/log/log1.err  ; stderr log path, NONE for none; default AUTO 
stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) 
;stderr_logfile_backups=10  ; # of stderr logfile backups (default 10) 
;stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) 
;stderr_events_enabled=false ; emit events on stderr writes (default false) 
;environment=A="1",B="2"  ; process environment additions (def no adds) 
;serverurl=AUTO    ; override serverurl computation (childutils) 

risposta

9

Questo effetto è chiamato log rotation. Quando il file di registro è maggiore del valore in stdout_logfile_maxbytes, il contenuto viene spostato in logfile.log.1 per il backup. Se si desidera modificare questo comportamento è possibile:

  • Modificare il valore di stdout_logfile_maxbytes su 0 - tutti i registri verranno conservati in un file di registro.
  • Cambia valore di stdout_logfile_backups a 0 - quando il file di registro è troppo grande, i vecchi registri verranno eliminati anziché spostati in un file separato.

Lo stesso vale per stderr_logfile_maxbytes e stderr_logfile_backups.

+0

Sì, sembra che stia succedendo. – Evan

+0

@daniula Esiste uno stdout_logfile_maxbytes predefinito se non imposto questo valore ?? – tyan

+0

@tyan Secondo [documentazione] (http://supervisord.org/configuration.html#program-x-section-values) il valore predefinito per 'stdout_logfile_maxbytes' è 50 MB. – daniula

Problemi correlati