fail2ban: 11 linhas devem começar com uma palavra-chave ou um nome de arquivo (possivelmente entre aspas duplas)

0

Estou rotando os registros do meu serviço Fail2Ban diariamente, mas continuo recebendo este erro diariamente:

/etc/cron.daily/logrotate:
error: fail2ban:11 lines must begin with a keyword or a filename (possibly in double quotes)

Aqui está o meu /etc/cron.daily/logrotate file

#!/bin/sh

# Clean non existent log file entries from status file
cd /var/lib/logrotate
test -e status || touch status
head -1 status > status.clean
sed 's/"//g' status | while read logfile date
do
    [ -e "$logfile" ] && echo "\"$logfile\" $date"
done >> status.clean
mv status.clean status

test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf

Aqui está minha 11ª linha:

mv status.clean status

Conforme o erro, esta linha tem erro. Eu não consigo entender o que exatamente está errado com essa linha de arquivo ??

Este é o meu arquivo /etc/logrotate.d/fail2ban :

/var/log/fail2ban.log {
    monthly
    rotate 13
    compress
    delaycompress
    missingok
    notifempty
    postrotate
    fail2ban-client flushlogs 1>/dev/null
    endscript
    640 fail2ban adm
    create 640 root adm
}
    
por Pritam Bohra 28.09.2017 / 21:07

2 respostas

1

Essa mensagem de erro não vem do shell script, mas vem do logrotate. Então essa é a linha 11 do arquivo de configuração logrotate fail2ban , não a linha 11 do script cron.daily.

Parece que você cometeu um erro ao editar seu arquivo de configuração logrotate; a linha 11 é 640 fail2ban adm - o que de fato não é uma coisa válida para se ter lá. Talvez você quisesse fazer parte da linha create abaixo?

Eu verifiquei o arquivo de configuração em uma caixa do Debian Jessie em que o fail2ban está sendo executado, e é assim:

/var/log/fail2ban.log {

    weekly
    rotate 4
    compress

    delaycompress
    missingok
    postrotate
        fail2ban-client flushlogs 1>/dev/null
    endscript

    # If fail2ban runs as non-root it still needs to have write access
    # to logfiles.
    # create 640 fail2ban adm
    create 640 root adm
}

... então, de fato, isso deve ser criado na frente dele (e um dos dois deve ser comentado / excluído).

    
por 28.09.2017 / 21:40
0

O erro está dizendo que a 11ª linha da configuração está com defeito. Não é a 11ª linha do script logrotate.

640 fail2ban adm
    
por 28.09.2017 / 21:43