ativar ou desativar facilmente o cron

ativar ou desativar facilmente o cron

Sempre que eu precisar habilitar o crons, copiarei o arquivo cron para a pasta spool.

cp /home/shantanu/shantanu /var/spool/cron/
chown shantanu:root /var/spool/cron/shantanu 

Isso vai funcionar? Algum problema que eu possa enfrentar?

atualização: usando CentOS

Responder1

A maneira oficial de desabilitar alguns cron jobs para um usuário específico é digitar crontab -e -u <user>e colocar um #no início para comentar.


ATUALIZAR

Porque o arquivo cron fará parte do script Shell.

Experimente isto:

crontab -l -u shantanuo > shantanuo.cron
sed -i 's/^/#/' shantanuo.cron
crontab shantanuo.cron
rm -f shantanuo.cron

Responder2

Istopoderiatrabalhar.Mas..

Como diziam os pôsteres anteriores: Não faça isso. Usar crontab -e. Editar diretamente os arquivos pode funcionar, mas não é uma prática robusta. Suas coisas podem quebrar a qualquer momento ao atualizar os componentes envolvidos. Além disso, não é muito portátil, outros sistemas podem armazenar os arquivos em um local diferente. É como implementar "printf" sozinho em vez de usar o iolib padrão.

Então, não faça assim.

editar: E se você precisar gerar o crontab com um script de shell, basta canalizar suas coisas crontab(ele até conhece o pseudo-arquivo '-'! Leia a página de manual.).

Responder3

Por que não usar apenas command crontab -e, ou se você estiver logado como root, crontab -e -u shantanu?

Responder4

Se você deseja suspender trabalhos sem ter que reiniciar o cron (o que pode afetar a execução dos trabalhos, por exemplo, a cada 3 minutos), você pode usar arquivos de bloqueio, facilmente criados ou removidos em um script.

*/3 0 * * * [ ! -f /tmp/job.lock ] && /path/to/job

Então, para suspender o uso do trabalho:

touch /tmp/job.lock

Reinicie o agendamento no cron:

rm /tmp/job.lock

A beleza disso é que você pode usar arquivos de bloqueio diferentes para trabalhos diferentes (ou grupos de trabalhos, se todos usarem o mesmo arquivo de bloqueio) sem se preocupar em interromper o agendamento ou quebrar o cron devido a erros na edição (por script ou manualmente) do crontab .

informação relacionada