Por que estou recebendo erro de arquivo binário?

0

Estou recebendo o seguinte email a cada 10 min. como eu possuo o VPS. Eu não sou especialista em Linux e estou aprendendo a gerenciar servidores linux. Por favor me ajude porque eu estou recebendo esses e-mails e como pará-los ou como corrigir o problema eu estou rodando o CentOS 6 em 123-reg VPS

Subject: Cron /usr/lib64/sa/sa1 1 1 /usr/lib64/sa/sa1: line 11: /bin/date: cannot execute binary file /usr/lib64/sa/sa1: line 13: /bin/date: cannot execute binary file

e abaixo, e-mail a cada 1 hora Assunto: Cron run-parts /etc/cron.hourly /etc/cron.hourly/0anacron:

/etc/cron.hourly/0anacron: line 6: /bin/date: cannot execute binary file
/etc/cron.hourly/0anacron: line 6: [: =: unary operator expected

em 0anacron sua:

#!/bin/bash
# Skip excecution unless the date has changed from the previous run 
if test -r /var/spool/anacron/cron.daily; then
    day='cat /var/spool/anacron/cron.daily'
fi
if [ 'date +%Y%m%d' = "$day" ]; then
    exit 0;
fi

# Skip excecution unless AC powered
if test -x /usr/bin/on_ac_power; then
    /usr/bin/on_ac_power &> /dev/null
    if test $? -eq 1; then
    exit 0
    fi
fi
/usr/sbin/anacron -s
    
por Keyur Padalia 18.03.2015 / 14:08

1 resposta

1

0anacron error:

Este é o código correto:

#!/bin/bash

# Skip excecution unless the date has changed from the previous run 
if test -r /var/spool/anacron/cron.daily; then
    day="$(cat /var/spool/anacron/cron.daily)"
fi
if [ "$(date +%Y%m%d)" == "$day" ]; then
    exit 0
fi

# Skip excecution unless AC powered
if test -x /usr/bin/on_ac_power; then
    /usr/bin/on_ac_power &> /dev/null
    if test $? -eq 1; then
        exit 0
    fi
fi
/usr/sbin/anacron -s

Isso corrige o problema [: =: unary operator expected . Aqui está uma lista de falhas corrigidas no código ordenadas por relevância, a primeira é a pior:

  • No bash, você perdeu um sinal de igual. É == em vez de = .
  • ' (backtick) Foi descontinuado, use $(command) em vez de 'command'
  • Você terminou a 8ª linha com um ponto-e-vírgula quando não há necessidade de fazer isso.
  • Recue seu código de 2 ou 4 espaços uniformemente.

date error:

Seu binário /bin/date parece estar corrompido, você viu que link

    
por 07.04.2015 / 10:24