Estou tentando solucionar por que minha tarefa cron não está funcionando às vezes. Onde o cron armazena arquivos de log por padrão? É / var / log / syslog?
Eu olhei para esse arquivo e ele está vazio. Preciso configurar algo?
Como padrão, os logs do cron são salvos em / var / log / syslog. Depende da configuração do rsyslogd. Você pode alterá-lo:
Vá para rsyslog config
cd /etc/rsyslog.d/
sudo nano 50-default.conf
Linha descomentada:
# cron. * /var/log/cron.log
Salve o arquivo e reinicie o rsyslog
reinício do rsyslog do serviço sudo
Reinicie seu daemon cron para obter mensagens de um novo arquivo
reinício cron do serviço sudo
Quando cron
não funcionar, ele enviará um email para o usuário root
. O único problema é: você não possui o software para enviar / armazenar o correio em caixas de correio.
Mas não tenha medo, Postfix
está aqui!
sudo apt-get update sudo apt-get install postfix heirloom-mailx
Ao instalar postfix
, ele perguntará como você deseja configurá-lo. Na primeira tela, selecione local only
e continue com os padrões para todo o resto.
Agora, usando seu editor favorito, edite /etc/aliases
. Será algo parecido com isto no começo:
# Ver aliases do man 5 para o formato postmaster: root
O que isso significa é que qualquer email enviado postnaster
agora também será enviado root
. Nesse caso, queremos que qualquer email enviado para root
(para os cron mails e qualquer outro email do sistema) seja enviado para username
(us).
Então, edite /etc/aliases
para ficar assim:
# Ver aliases do man 5 para o formato postmaster: root raiz: normando
(Substitua norman
por seu nome de usuário obviamente. A menos que você tenha o mesmo nome / nome de usuário que eu. :))
Depois de tudo dito e feito, execute o seguinte comando para push
as alterações:
sudo newaliases
Agora, depois dessa execução:
sudo dpkg-reconfigure postfix
Você obterá a mesma tela que tinha antes de instalar postfix
. Execute os padrões ( Local Only
, etc.). Quando você chegar à parte em que ele pede o alias root e postmaster, verifique se é o mesmo que você adicionou /etc/aliases
acima. Em seguida, continue executando os padrões.
Quando terminar, execute o seguinte comando para reiniciar postfix
e começar!
reinício do postfix do serviço sudo
Agora, se o cron tiver um erro, ele será enviado para você. Mas, você provavelmente está se perguntando, como no mundo eu verifico meu correio (local)?
Para fazer isso, execute o comando:
enviar
Que simples. Se não houver correio, dirá No mail for <username>
. Caso contrário, você terá uma interface de terminal elegante para usar. Consulte a página de manual para obter informações sobre como interagir com sua caixa de entrada.
Ou, se preferir, você pode acessar sua página de manual local usando:
correio homem
E agora, você terminou! :)
PS Você deve ler isso para saber mais sobre o cron
assunto.
crond
envia um e-mail ao proprietário do trabalho, não necessariamente raiz, portanto, se esse for o seu trabalho instaladocrontab -e
, você receberá o e-mail. Isso também é verdade se o trabalho "falha" ou não ... simplesmente envia por e-mail uma transcrição de qualquer saída do trabalho.Ao executar
mail
, recebi a seguinte resposta:Em vez disso, encontrei os erros / e-mails armazenados em
/var/mail/root
fonte
É
/var/log/syslog
por padrão.Mas pode ser configurado para criar um cron.log separado, o que é mais útil.
Estas perguntas e respostas descrevem o processo:
16.04: Como faço para o cron criar o cron.log e monitorá-lo em tempo real?
Também nesta resposta estão as instruções para criar um
wcron
comando que o exibe quase em tempo real. Além disso, ele vincula a outra resposta,Como alterar o nível do log do cron?
que mostra como alterar o nível do log para incluir mais do que apenas o início dos trabalhos - o nível 15 também mostrará erros e a hora de término.
fonte