Определить дату завершения работы скрипта

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

kasian
Сообщения: 4

Определить дату завершения работы скрипта

Сообщение kasian »

Всем привет.

Собственно сабж. Есть скрипт test.py. Как узнать когда он был запущен и когда и как завершил работу.
[Ubuntu 14.04.3 LTS 64bit]

Всем Спасибо!


Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21523
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Определить дату завершения работы скрипта

Сообщение Bizdelnick »

Ничего не понял. Вы написали этот скрипт? Вы его запускаете? Или он просто где-то лежит и кто-то его запускает?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2041
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Определить дату завершения работы скрипта

Сообщение Stauffenberg »

Вам это нужно изменить скрипт и получить эту информацию? Или Вы хотите средствами ОС узнать кто и когда запускал этот скрипт?


Чтобы узнать текущее время (я так понял Вам его нужно определить два раза), просто слейте в какой-нибудь файл вывод этого кода:

Код: Выделить всё

from time import gmtime, strftime
strftime("%Y-%m-%d %H:%M:%S", gmtime())


Логин пользователя:

Код: Выделить всё

import getpass
getpass.getuser()


или например uid:

Код: Выделить всё

import os
os.getuid()


Можете положить в тот же каталог файл с таким же именем (frontend), а исходный файл переименовать (backend). Frontend будет запускать backend + сливать информацию в каком хотите формате и в какой хотите файл (можно email слать, если хотите).
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
kasian
Сообщения: 4

Re: Определить дату завершения работы скрипта

Сообщение kasian »

Спасибо, что откликнулись!

Ситуация такая:
Есть скрипт. Время его выполнения несколько дней. 4-6 дней назад его запускали.

Мне нужно узнать когда точно его запускали, когда он завершил свое исполнение, и как, т.е. не было ли его выполнение прервано.

Какие-то правки в него вносить или запускать с доп. параметрами еще раз - не вариант.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21523
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Определить дату завершения работы скрипта

Сообщение Bizdelnick »

Ну извините, если он ничего не пишет в логи, то скорее всего ничего не получится. Можно проверить даты изменения файлов, которые должен был менять этот скрипт, и не должен был никто другой. Но информации о том, как скрипт был завершён, Вы таким образом скорее всего не получите (разве что при корректном выходе или при прерывании скрипт вносит куда-то заведомо известные изменения).
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Определить дату завершения работы скрипта

Сообщение SLEDopit »

Если же вопрос стоит в целом, как можно получить такую информацию в будущем, особенно в случае, если скрипт сам ничего нигде не логирует, то можно попробовать поставить и настроить auditd.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
kasian
Сообщения: 4

Re: Определить дату завершения работы скрипта

Сообщение kasian »

Ок. Я просто думал что где-нибудь в недрах должна храниться хоть какая-та информация хотя бы о вызове интерпретатора.

Посмотрел про auditd. В будущем поможет.

Всем Спасибо!
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Определить дату завершения работы скрипта

Сообщение bormant »

В следующий раз запускайте его, например, так:

Код: Выделить всё

./test.py; touch /var/tmp/test.done
или в фоне:
(./test.py; touch /var/tmp/test.done)&
По дате/времени /var/tmp/test.done узнаете момент последнего завершения.

или

Код: Выделить всё

./test.py ; date --rfc-3339=seconds >> /var/tmp/test.done
Спасибо сказали: