Quando você precisa reiniciar um servidor que executa o Jenkins, é muito simples: prepare o Jenkins para um desligamento, aguarde a conclusão dos trabalhos em execução e reinicie-o.
Mas, se o servidor for reiniciado para uma emergência, você pode precisar reiniciar alguns trabalhos do Jenkins e se perguntar o que estava sendo executado.
Felizmente, os diretórios de “jobs” do Jenkins podem ajudá-lo a descobrir quais jobs foram iniciados e quais não foram concluídos corretamente. Se você tem um job my_example_job, então haverá uma pasta em $ JENKINS_HOME / jobs / my_example_job / que contém 1 diretório por build para quantos builds você mantiver. Quando uma construção é iniciada, ela cria um diretório $ BUILD_ID que contém alguns arquivos. Em seguida, a construção termina e cria mais alguns arquivos. E, esse diretório $ BUILD_ID é vinculado simbolicamente a partir de alguns diretórios úteis para facilitar a referência à construção, como um diretório de carimbo de data no formato AAAA-MM-DD_HH-MM-SS.
Portanto, para encontrar os diretórios de compilação dentro do diretório $ JENKINS_HOME / jobs / em vinte e poucos de novembro de 2015 que tenham um log e não tenham um build.xml:
cd /var/lib/jenkins/jobs/
find */builds/2015-11-2*/ -iname 'log' -printf '%hn' | sort -u > ~/haslog.txt
find */builds/2015-11-2*/ -iname 'build.xml' -printf '%hn' | sort -u > ~/hasbuild.xml.txt
grep -v -f ~/hasbuild.xml.txt ~/haslog.txt