cron executa trabalho em horários inesperados

1

Eu configurei uma tarefa cron no meu servidor Ubuntu 12.04 local para fazer logon em um servidor remoto por meio de uma conexão ssh sem senha e executar mysqldump em um banco de dados nesse servidor uma vez por dia. Meu problema é que, além de executar mysqldump às 00:00 todos os dias, por alguma razão também é executado em HH: 17 a cada hora, preenchendo o disco com bastante rapidez. O trabalho no meu crontab é configurado como:

@daily  /bin/bash /home/backup/scripts/db_backup

As partes mais importantes do script db_backup são assim:

#!/bin/bash

# Sets the properties and folders to be backed up
host_name=admin@the_host.com
db_name=the_db_name
db_backup_folder_at_host="~/db_backup"

# Dumps the mysql database
{ # Try
    ssh ${host_name} "mysqldump ${db_name} > ${db_backup_folder_at_host}/backup$(date +%F_%R).sql" &&
    echo "$(date) SUCCESS! mysqldump of database"
} || { # Catch
    echo "$(date) FAILURE! mysqldump of database"
}

No servidor remoto eu especifiquei um arquivo .my.cnf para o banco de dados (na pasta home) assim:

[mysqldump]
user=USERNAME
password=PASSWORD
host=MYSQLSERVER

e isso funciona bem.

O crontab é instalado com sucesso para o superusuário do meu servidor Ubuntu 12.04 local. Eu tentei reiniciar o servidor, mas isso não resolve o problema. Executar sudo ps -A | grep cron no servidor Ubuntu produz 1166 ? 00:00:00 cron como saída, portanto, apenas um processo está sendo executado. A execução de sudo crontab -l mostra a tarefa cron diária acima, enquanto a execução de crontab -l mostra que nenhuma tarefa está instalada para o usuário comum. Não há tarefas agendadas em execução no servidor remoto.

Alguém pode me dar uma pista de como isso pode estar acontecendo? Onde posso procurar por pistas?

Note que eu também tentei o seguinte para o crontab, mas mysqldump ainda é executado a cada HH: 17:

0 0 * * *   /bin/bash /home/backup/scripts/db_backup
    
por Krøllebølle 10.02.2014 / 10:41

1 resposta

1

Embora eu esteja executando uma versão diferente do Ubuntu, o meu / etc / crontab executa o script de hora em hora 17mins após a hora.

SHELL = / bin / sh PATH = / usr / local / sbin: / usr / local / bin: / sbin: / bin: / usr / sbin: / usr / bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

Dê uma olhada em /etc/cron.hourly

    
por 10.02.2014 / 13:09

Tags