Bem vindo ao Debian; você não usa mais o cron.
M. Kitt está certo ao dizer que o Stack Exchange prefere uma pergunta por questão, mas neste caso ambas as questões derivam de um erro fundamental que você está cometendo: Você está erroneamente assumindo que está executando tarefas cronicas.
Como você pode ver na descrição do trabalho do cron que está à sua frente, seus trabalhos cron estão se desativando porque eles vêem o systemd rodando em seu sistema:
… && if [ ! -d /run/systemd/system ]; then … ; fi
/etc/cron.d/php
não é não oficial, a propósito. Ele é instalado pelo pacote Debian-php-common . Também instalados a partir desse mesmo pacote, estão as coisas que rodam ao invés de aquele trabalho do cron:
- uma unidade temporizada do systemd chamada
phpsessionclean.timer
- uma unidade de serviço do systemd chamada
phpsessionclean.service
Este é um padrão que pode ser encontrado em um número cada vez maior de tais pacotes Debian atualmente: os cron jobs são suplantados pelas unidades systemd e auto-desabilitados quando (somente) o systemd está rodando.
Portanto, ajustar o agendamento na tabela cron não conseguirá nada (além de alterar quando um comando shell que não faz nada está agendado). Da mesma forma, definir variáveis de ambiente na tabela cron não conseguirá nada. Você precisa alterar o agendamento na unidade temporizada e alterar as variáveis de ambiente na unidade de serviço.
Os detalhes disso estão além do escopo desta resposta, mas muito rapidamente você precisa aprender sobre unidades systemd, arquivos de substituição de unidade e os comandos systemctl cat
, systemctl status
e systemctl edit
.
Leitura adicional
- Lennart Poettering e cols. "Environment" .
systemd.exec
. páginas de manual do systemd. Freedesktop.org. - Lennart Poettering e cols. "Opções" .
systemd.timer
. páginas de manual do systemd. Freedesktop.org. - Como posso fazer uma modificação em um .service e mantê-lo persistente?
- Onde colocar arquivos da unidade systemd criados pelo usuário
- link