Jump to content

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


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 post
Share on other sites

  • Replies 5
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

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 post
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 post
Share on other sites

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

 

Link to post
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 post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.




×
×
  • Create New...