Ok, então eu fiz o meu script, /etc/cron.hourly
coloquei chmod 777
o arquivo no arquivo, mas ele não será executado automaticamente. Se eu executá-lo manualmente, ele funciona bem. Preciso fazer mais alguma coisa?
cron-jobs
command-line
crontab
cron
Switchkick
fonte
fonte
Respostas:
Por que não usar o crontab (/ etc / crontab) e usar * / 1 no campo hora. Eu usei isso para executar um script a cada 5 minutos e funciona bem:
fonte
cron.daily
e amigos funciona um pouco melhor se a máquina não estiver funcionando o tempo todo, porque o anacron tenta aproximar o cronograma correto, enquanto o cron simples simplesmente não os executará se a máquina não estiver ligada a noite toda. Para trabalhos horários, isso provavelmente não importa tanto./etc/crontab
:cron.daily
,cron.weekly
ecron.monthly
correr com anacron (se disponível), mas por horarun-parts --report /etc/cron.hourly
.As entradas em
cron.hourly
são executadas pelo mecanismo de peças de execução (man run-parts
para obter mais informações). Erun-parts
é exigente quanto aos nomes de arquivos que considera válidos.Por exemplo, atribuir uma extensão ao seu script o tornará inválido e resultará na execução da tarefa.
[a-zA-Z0-9_-]
são os caracteres válidos, então o '.' torna inválido.Ao adicionar um trabalho a
/etc/cron.hourly
(ou.daily
,.weekly
etc), sempre teste depois querun-parts
realmente o executará emitindo o comando:Se executando este comando, ele mostra seu arquivo, significa que funcionou. Caso contrário, se não mostrar nada, seu nome de arquivo não será válido.
Qual era o nome do seu script?
fonte
giving your script an extension will make it invalid and result in the job not being run
--report
para realmente executar os scripts.Seu problema provavelmente se deve às permissões excessivamente abertas, que permitem que qualquer pessoa edite seu arquivo. Tente em
755
vez disso.A consulta das entradas cron na saída do syslog deve confirmar isso.
fonte
A resposta do DaithiF deve ser a resposta certa.
Além disso, meu script não tinha
#!/bin/bash
na primeira linha. Mesmo que o script pudesse ser executado com a linha de comando, orun-parts
rejeitou dizendo "Erro de formato Exec".Alterar o nome do arquivo de
scriptname.sh
parascriptname
e adicionar a#!/bin/bash
primeira linha permitiu que meu script fosse executado a cada hora.fonte
Quando você corre
esta tarefa está na lista?
caso contrário, adicione-o
adicione esta linha
se estiver nesta lista, tente adicionar o caminho da linguagem de programação na parte superior do seu script
Exemplo:
Essas 2 coisas sempre resolviam meus problemas :)
fonte