diff --git a/src/logrotate/tetras-back b/src/logrotate/tetras-back index 42372a0ec15a6c187daa82f818f2e6a068aaa7ce..eed1b254a9b44ae7b1c84ba27fe966e53d13f9f9 100644 --- a/src/logrotate/tetras-back +++ b/src/logrotate/tetras-back @@ -7,12 +7,3 @@ delaycompress sharedscripts } -/var/log/tetras-back/message.log { - rotate 4 - daily - missingok - notifempty - compress - delaycompress - sharedscripts -} diff --git a/src/tetras-back b/src/tetras-back index 4c851e4616917e3297185051568e9a1a7961bf0c..dc3bb7f0fb199488aa124d0fd70813fcc333582c 100755 --- a/src/tetras-back +++ b/src/tetras-back @@ -279,11 +279,11 @@ sub start_daemon(){ open FIFO, "+<", $MAINFIFO or die "Can't read from $MAINFIFO"; # prepare logs mkdir $LOGDIR; + # The main file is closed after each write to avoid issues with logrotate $Logger = Log::Dispatch->new( outputs => [ [ 'File', min_level => 'debug', filename => "$LOGDIR/main.log", close_after_write => 1 ], - [ 'File', min_level => 'info', filename => "$LOGDIR/message.log" ], [ 'Screen', min_level => 'debug', stderr => 0, newline =>0 ], ], ); @@ -313,6 +313,9 @@ sub start_daemon(){ $CFG::CFG{DISKS}{KNOWN}{$uuid}{'last_seen'}=time(); save_config(); notify(); + $Logger->remove("message"); + $Logger->add(new Log::Dispatch::File(name => "message", + min_level => 'info', filename => "$LOGDIR/message.log")); $running_backups{$uuid} = threads->create('do_backup', $dev); }else{ save_config();