「Jenkins/crontab形式に変更するスクリプト」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→確認コマンド) |
|||
行35: | 行35: | ||
==確認コマンド== | ==確認コマンド== | ||
− | grep "<command>" | + | grep "<command>" /var/lib/jenkins/jobs/*/config.xml |
2017年2月27日 (月) 22:03時点における版
jenkinsに登録したスケジュール(spec)とシェルスクリプト(command)をcrontabな表示に変更する
$ vi /var/lib/jenkins/crontab.php
<?php exec("ls jobs/*/config.xml | xargs grep '<command>'", $res_commands, $return_var); exec("ls jobs/*/config.xml | xargs grep '<spec>'", $res_specs, $return_var); exec("ls jobs/*/config.xml | xargs grep '<numToKeep>'", $res_numToKeeps, $return_var); $crons = array(); foreach ($res_commands as $key => $command) { list($hash, $dummy) = explode("/config.xml", $command); if (preg_match('!<command>(.+)</command>!', $command, $matches)) { $crons[$hash]['command'] = $matches[1]; } } foreach ($res_specs as $key => $spec) { list($hash, $dummy) = explode("/config.xml", $spec); if (preg_match('!<spec>(.+)</spec>!', $spec, $matches)) { $crons[$hash]['spec'] = $matches[1]; } } // foreach ($res_numToKeeps as $key => $numToKeep) { // list($hash, $dummy) = explode("/config.xml", $numToKeep); // if (preg_match('!<numToKeep>(.+)</numToKeep>!', $numToKeep, $matches)) { // $crons[$hash]['numToKeep'] = $matches[1]; // } // } ksort($crons); print nl2br(print_r($crons,1)); foreach ($crons as $cron) { echo sprintf("%s %s\n", $cron['spec'], $cron['command']); }
確認コマンド
grep "<command>" /var/lib/jenkins/jobs/*/config.xml