Como faço para verificar a saída do comando salt executado em segundo plano?

7

Eu tenho um script de sal escrito por outra pessoa que está executando vários comandos. Funciona por muito tempo. Minha conexão com a máquina que o executa quebrou, mas ainda está em execução. Como eu volto para ver o que isso faz? Eu não iniciei usando screen .

Veja como o comando se parece:

$ salt --subset=1 -C 'G@application:foo and G@roles:application and G@vpc:staging' state.sls foo.commands.application.export

Há um monte de hosts que têm o papel application e esse material está funcionando bem. Estou monitorando a saída do que isso está fazendo (empurrando para uma fila) em outro lugar.

Acredito que estou procurando algum tipo de " verifique o status de um script de sal em execução ", mas não consegui encontrar isso na documentação.

Estou executando salt 2014.1.13 (Hydrogen) em Ubuntu 14.04.1 LTS .

    
por simbabque 17.11.2014 / 11:52

1 resposta

10

Use o cache de trabalhos.

Primeiro, liste os trabalhos recentes com jobs.active ou jobs.list_jobs .

$ sudo salt-run jobs.list_jobs
Note que incluí apenas uma entrada aqui

'20141204125446199193':
  Arguments:
  - salt-ssh production cmd.run_all bash /home/Administrator/bin/weekly-product-build.sh
  Function: cmd.run_all
  StartTime: 2014, Dec 04 12:54:46.199193
  Target: lead
  Target-type: glob
  User: root

Em seguida, obtenha a saída retornada para um jid em particular:

$ sudo sal-run jobs.lookup_jid 20141204125446199193 | cabeça -22

lead:
    ----------
    pid:
        2301
    retcode:
        0
    stderr:

    stdout:
        production:
            ----------
            pid:
                688
            retcode:
                1
            stderr:
                + case $(date +%a) in
                ++ date +%a
                ++ date -d Thursday +%F
                + TARGET_DATE=2014-12-04
                ++ date -d 2014-12-04 +%Y%m%d
                + ymd=20141204
    
por 05.12.2014 / 02:25

Tags