Jump to content

Não consigo adicionar um registro no crontab através de arquivos


thesuperman

Recommended Posts

Olá!

Estou trabalhando em um arquivo que preciso de uma certa automação e por isso eu não posso usar a opção "crontab -e" que vejo em vários tutoriais por aí.

Eu preciso adicionar/modificar arquivos para gerenciar o crontab.

Estou fazendo da seguinte forma:

1. Crio um arquivo em /etc/cron.d/ips

Coloco isso no conteúdo do arquivo:

* * * * * /usr/local/lsws/lsphp74/bin/php -d memory_limit=-1 -d max_execution_time=0 /var/www/vhosts/localhost/html/applications/core/interface/task/task.php 70d29b03752a8ad0c72eeda29d19396f

(com o cuidado de deixar a última linha em branco

2. Porém quando eu executo "crontab -l" não aparece esse novo registro do cron.

O arquivo pertence ao usuário ROOT e estou executando o comando crontab -l como ROOT.

Link to comment
Share on other sites

25 minutos atrás, pluginscpanelwhm disse:

Olá,
Não sei se entendi bem, mas pelo que eu entendi você quer adicionar algo no cron do servidor usando algum script.
Se for isso você adiciona assim echo -e "comandos aqui"  >>/var/spool/cron/root

Esse comando não iria funcionar porque tem que deixar uma linha em branco no final.

 

Eu estou tentando substituir o arquivo por completo por enquanto, também já tentei essa localização mas quando faço isso e executo crontab -l, apenas diz que não tem nenhuma entrada cron para o usuário em questão. Estou tentando rodar o Cron dentro de um container Docker.

Link to comment
Share on other sites

2 minutos atrás, thesuperman disse:

Esse comando não iria funcionar porque tem que deixar uma linha em branco no final.

 

Eu estou tentando substituir o arquivo por completo por enquanto, também já tentei essa localização mas quando faço isso e executo crontab -l, apenas diz que não tem nenhuma entrada cron para o usuário em questão. Estou tentando rodar o Cron dentro de um container Docker.

Olá,
Não sei qual distro você está se referindo, mas aqui uso desse modo nos plugins pra cPanel e scripts shell no CentOS.
Você está utilizando algum painel de hospedagem ? Qual distro você está utilizando ? 


 

Link to comment
Share on other sites

Depois de muita luta eu consegui 😄

A única coisa que eu precisava era usar a sintaxe "crontab FILE". Ou seja, criar o arquivo normal com os comandos cron, e especificar o caminho para esse arquivo usando essa sintaxe.

No meu Dockerfile adicionei o seguinte:

RUN printf "* * * * * /usr/local/lsws/lsphp74/bin/php -d memory_limit=-1 -d max_execution_time=0 /var/www/vhosts/localhost/html/applications/core/interface/task/task.php f5db69eddce5eff9b0e5878e3105a835 >> /var/log/cron.log 2>&1\n" > scheduler.txt

RUN crontab scheduler.txt

O motivo de usar o printf em vez do echo e para poder usar o caractere especial "\n" (insere uma nova linha).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Do you agree with our terms?