Cron não está executando scripts

0

Procurei vários motivos que poderiam causar meu problema sem sorte. O problema parece ser extremamente particular: meu servidor executando o LTS 10.04 não está executando corretamente scripts relacionados ao uso da Internet. Eu estou tentando atualizar um DNS dinâmico do meu servidor para que meu domínio sempre aponte para o meu servidor. Eu ssh para o meu servidor para fazer alterações e está sempre em execução.

Existem dois lugares que eu coloquei o script cron:

1) Adicione um crontab usando o crontab -e para o usuário atual

2) Adicione um arquivo em /etc/cron.d/ (dois arquivos diferentes também)

Assegurei-me de que eles sejam de propriedade do root e tenham bits de acesso para o proprietário.

Decidindo algumas coisas:

1) Todos os scripts cron funcionam perfeitamente no meu laptop, que também é 10.04 LTS

2) Ambos os scripts são executados perfeitamente quando executados a partir da linha de comando.

3) No servidor, se eu concordo "hello" com um arquivo usando o cron a cada minuto que ele realmente funciona

O mais simples dos dois scripts a serem executados tem configuração como esta:

* * * * * root /usr/bin/wget "-q --read-timeout=0.0 --waitretry=5 --tries=10 --background http://freedns.afraid.org/dynamic/update.php?...........

Onde estou escondendo a chave de atualização e é seguida por uma nova linha.

Eu sinto que isso deve ser algo específico para o cron que estou perdendo.

Eu também não tenho um arquivo de log do cron em / var ou / var / log

Deixe-me saber se há alguma informação que esqueci de mencionar.

    
por chrisjleaf 09.05.2012 / 19:02

1 resposta

5
  • Você está ciente de que as mensagens de erro do cron / STDERR terminam no correio do sistema? Se você não configurou, poderá fazer check-in rapidamente em /var/mail/your_username . É chamado de Unix Movemail no Thunderbird, mas acredito que existam outros nomes para o mesmo mecanismo também.
  • O shell padrão usado é sh não bash .
  • Você está ciente de que o ambiente para um trabalho cron é totalmente diferente do seu shell interativo? Para testar isso, criei um cron job:

* * * * * /tmp/testscript.sh

O conteúdo de /tmp/testscript.sh é:

#!/bin/bash
set

Recebi um e-mail com o seguinte conteúdo (observe as coisas que o PATH é muito diferente, compare com set da linha de comando:

BASH=/bin/bash
BASHOPTS=cmdhist:extquote:force_fignore:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_LINENO=([0]="0")
BASH_SOURCE=([0]="/tmp/testscript.sh")
BASH_VERSINFO=([0]="4" [1]="2" [2]="24" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
BASH_VERSION='4.2.24(1)-release'
DIRSTACK=()
EUID=1000
GROUPS=()
HOME=/home/my_username
HOSTNAME=diablo
HOSTTYPE=x86_64
IFS=$' \t\n'
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LOGNAME=jhendrix
MACHTYPE=x86_64-pc-linux-gnu
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/usr/bin:/bin
PPID=623
PS4='+ '
PWD=/home/my_username
SHELL=/bin/sh
SHELLOPTS=braceexpand:hashall:interactive-comments
SHLVL=1
TERM=dumb
UID=1000
_=/bin/bash
    
por jippie 09.05.2012 / 20:11