thesuperman Postado Janeiro 27, 2021 Compartilhar Postado Janeiro 27, 2021 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. 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
pluginscpanelwhm Postado Janeiro 27, 2021 Compartilhar Postado Janeiro 27, 2021 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 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
thesuperman Postado Janeiro 27, 2021 Autor Compartilhar Postado Janeiro 27, 2021 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. 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
pluginscpanelwhm Postado Janeiro 27, 2021 Compartilhar Postado Janeiro 27, 2021 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 ? 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
thesuperman Postado Janeiro 27, 2021 Autor Compartilhar Postado Janeiro 27, 2021 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 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
thesuperman Postado Janeiro 28, 2021 Autor Compartilhar Postado Janeiro 28, 2021 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). 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.