Cronjob atualizando o gitlab-ce

1

Estou tentando "atualizar automaticamente" o gitlab. Eu criei um script de shell que verifica atualizações, instala quando uma atualização está disponível e envia os resultados por e-mail. Isso tudo funciona perfeitamente bem a partir de um terminal quando eu inicio o script do bash como root. Então, agendei o trabalho com crontab -e e o configurei para ser executado diariamente.

Eu não deveria este é meu servidor gitlab pessoal, em casa, com nada de muito importante. Eu nunca faria isso em um ambiente de produção real.

A saída do processo de atualização é canalizada para um arquivo de log. Sempre que o cronjob é executado, ele falha. A saída do logfile é a seguinte:

Reading package lists...
Building dependency tree...
Reading state information...
The following packages will be upgraded:
  gitlab-ce
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 357 MB of archives.
After this operation, 2,778 kB of additional disk space will be used.
Get:1 https://packages.gitlab.com/gitlab/gitlab-ce/debian stretch/main amd64 gitlab-ce amd64 9.3.8-ce.0 [357 MB]
apt-listchanges: Reading changelogs...
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (This frontend requires a controlling tty.)
debconf: falling back to frontend: Teletype
dpkg-preconfigure: unable to re-open stdin: 
Fetched 357 MB in 17s (20.3 MB/s)
dpkg: warning: 'ldconfig' not found in PATH or not executable
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable
dpkg: error: 2 expected programs not found in PATH or not executable
Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin
E: Sub-process /usr/bin/dpkg returned an error code (2)

O que está acontecendo aqui exatamente? Eu percebo que não é possível encontrar coisas, etc, mas o cronjob deve ser executado como root desde que eu adicionei como root?

Além de algumas verificações, envio de e-mails de resultados, etc., o shellscript, essencialmente, é executado:

apt-get install --only-upgrade gitlab-ce &>> $LOGFILE

Como corrijo isso?

    
por RobIII 21.07.2017 / 01:52

0 respostas