Jump to content

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


Recommended Posts

Posted

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.


Posted
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.

Posted
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 ? 


 

Posted

Pior que eu nem sei, é uma baseado em Debian já que tem o apt-cache. O comando uname -a não ajuda muito:

Citar

Linux 104e177a31a6 4.19.104-microsoft-standard #1 SMP Wed Feb 19 06:37:35 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

 

Posted

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).

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

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?