2016-07-15 2 views
0

Мне нужна команда, чтобы получить время выполнения задания cron.Unix cron время выполнения задания

Как долго работает определенный скрипт.

ps -ef | grep script name 

даст нам состояние процесса право

Я хочу знать, как долго скрипт работает

+0

Я не хочу запускать сценарий. Без запуска скрипта я хочу выполнить время выполнения скрипта. – Shaaz

+0

Итак ... вы хотите знать, как долго что-то бежит без фактического запуска? Если это не система реального времени, где ресурсы гарантированы и всегда доступны, я не вижу, как это возможно. –

ответ

0

Просто Вы можете распечатать время в лог-файл в вашем сценарии, как это,

date >> /tmp/script.log 

Это нужно сделать при запуске скрипта и завершении сценария. Затем вы можете узнать общее количество истекшего для сценария. В промежуточное время вы можете узнать, как долго работает скрипт.

+0

Без редактирования сценария я хочу знать время выполнения. – Shaaz

+0

А также без выполнения времени – Shaaz

+0

А также без выполнения сценария – Shaaz

0

Вы почти наверняка хотите знать, прошедшее с начала выполнения ETIME процесса, а не его кумулятивного CPU TIME:

ps -e -o etime -o args | awk '/[s]cript_name/{ print $1 }' 

Смотрите the ps specification для получения дополнительной информации о параметрах форматирования.

Для регулярного сбора данных вы можете рассмотреть возможность переноса задания cron в скрипт, который регистрирует прошедшее время или время начала/остановки. Иногда это необязательно, так как настройка crond в некоторых системах уже делает это для вас (например, Redhat-ish cron.hourly сценарий вызывает журналы начала и окончания отдельных почасовых заданий).