apt-get purge não funciona com o cron

2

Estou vendo um comportamento estranho com um script sendo executado pelo cron e não tenho certeza do que está acontecendo. O script parece que vai remover o pacote, mas apenas trava no final e nunca faz nada.

Aqui está o cronjob.

06 15 * * * root /myscript.sh > /tmp/script.log 2&>1

Aqui está (uma versão simplificada) do script.

#!/bin/bash

PACKAGES_TO_PURGE="htop"

if [ -n "$PACKAGES_TO_PURGE" ]; then
    echo "Purging $PACKAGES_TO_PURGE"
    echo
    #sudo apt-get purge -y $PACKAGES_TO_PURGE
    apt-get purge -y $PACKAGES_TO_PURGE
    echo "Done"
    echo
else
    echo "Nothing to purge"
fi

Aqui está a saída do arquivo de log.

0 upgraded, 0 newly installed, 1 to remove and 62 not upgraded.
After this operation, 188 kB disk space will be freed.
Done

Rodando este script manualmente, eu só me deparo com problemas com o cron, então não sei exatamente qual é o problema.

Eu posso até fazer esse script funcionar se eu adicionar um sudo no comando apt-get.

Estou pensando que há algo fácil que estou negligenciando, mas nada está pulando em mim.

    
por jmreicha 09.04.2018 / 22:42

1 resposta

1

Veja a resposta em este post ; alguém tentou fazer um apt-get upgrade do cron e teve um problema semelhante.

Parece que você precisa configurar a variável de ambiente PATH para que o apt funcione. Por exemplo: PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

    
por 10.04.2018 / 11:04