Boa pergunta, esse comportamento do at/atq costuma confundir mesmo.
O que provavelmente aconteceu
Quando você agendou com now + 3 minutes, há alguns cenários em que o job já pode ter sido executado (ou removido da fila) antes de você rodar o atq, por isso ele aparece vazio:
Ajuste de horário/NTP
Se o relógio do sistema adiantou alguns minutos (sincronização NTP), o horário agendado (ex.: 23:33) pode ter “ficado no passado” e o atd executou o job quase imediatamente. Ao rodar atq logo depois, a fila já estava vazia.
Resolução por minuto (janela de segundos)
O at agenda por minuto inteiro. Se você agendou quando já estava muito perto do próximo minuto, o job pode cair para uma janela muito curta e executar logo após ser criado (especialmente se o sistema estava ocupado). Assim, ao rodar atq, ele já não estava mais na fila.
Fuso horário/DST (horário de verão) ou timezone incorreto
Mudanças de fuso ou uma timezone incorreta podem fazer com que now + 3 minutes caia em um horário “não esperado”, inclusive no passado.
Usuário diferente
O atq lista apenas os jobs do usuário atual. Se você criou o job com um usuário e consultou com outro (ou vice-versa, usando sudo), o atq sem sudo volta vazio.
Dica: sudo atq lista os jobs de todos os usuários.
O job rodou e foi removido
O at remove o job da fila após a execução. Se você chamou atq depois da execução, a fila aparece vazia.
Quando você trocou para 10 minutes, provavelmente criou uma janela de tempo suficientemente longa para que o job permanecesse na fila até o momento em que você rodou o atq, por isso você conseguiu vê-lo.
Como diagnosticar e confirmar
- Veja o status do serviço atd
systemctl status atd
journalctl -u atd --since "30 min ago"
(Em algumas distros o serviço pode se chamar atd.service.)
- Verifique data, hora e timezone
date
timedatectl
Procure por ajustes recentes de NTP ou timezone incorreto.
- Confirme o usuário
Crie e liste como o mesmo usuário.
Para ver tudo: sudo atq.
- Teste controlado
echo "date > /tmp/teste_at.txt" | at now + 2 minutes
atq
sleep 10
atq
Depois confira /tmp/teste_at.txt e os logs do atd.
- Confira a saída do job (mail do usuário)
O at envia a saída do job para o mail local do usuário (dependendo da configuração).
mail
(ou verifique /var/spool/at / logs do atd conforme a distro).