Eu fiz um script bash que usa o WP-CLI e foi criado para funcionar a partir de um cronjob. Ele roda bem a partir do SSH, mas falha quando executado através do cron. Durante a depuração, descobri que era a parte do WP-CLI que não estava em execução. Não tem saída alguma.
Eu peguei apenas a parte WP-CLI do script e a testei. Eu confirmei que o WP-CLI é de fato o problema:
/home/username/script/test.sh
cd /var/www/domain.com/ && wp post create --post-title="test" post-content="testing" --post-status=future
Veja um exemplo do cronjob que foi adicionado via crontab -e
da conta do usuário: (definido para ser executado a cada minuto para fins de teste)
*/1 * * * * sh /home/username/script/test.sh
O script é executado perfeitamente se for executado a partir do SSH, mas quando executado a partir do cron, ele não terá saída. Eu tentei adicionar | mail -s [email protected]
à entrada do cronjob. Ele envia a saída para o meu email, mas não há saída para o comando wp-cli. Eu também tentei adicionar meu nome de usuário à entrada do cronjob entre os dados de hora e o comando para tentar certificar-se de que estava sendo executado como meu usuário. Além disso, eu tentei editar o script bash e alterá-lo para mail -s "cool story bro" [email protected]
e que funcionou bem, ele apenas ignora completamente o WP-CLI.
Estou procurando a resposta há cerca de 12 horas. Recentemente, encontrei essa resposta para a pergunta de outra pessoa, o que acho que pode ajudar, mas não sei como implementá-la. link
Acabei de encontrar essa resposta para a pergunta de outra pessoa, e parece ser a maneira de implementar a resposta da outra pessoa, mas não funcionou. link Eu usei exatamente o que ele postou.
Isso está sendo executado em um servidor Ubuntu atualizado, a propósito.
Por favor, explique qual é o problema e como corrigi-lo. Ou apenas se você souber alguma coisa sobre isso, comentar ou algo assim, eu estou muito desesperado no momento.