Skip to main content

Utilities for systemd management

Project description

ut_ctl

Overview

Utilities for the system commands: journalctl or systemctl

Installation

The package ut_ctl can be installed from PyPI or Anaconda.

To install with pip:

$ python -m pip install ut_ctl

To install with conda:

$ conda install -c conda-forge ut_ctl

Package logging

(c.f.: Appendix: Package Logging)

Package files

Classification

The Package ut_ctl consist of the following file types (c.f.: Appendix):

  1. Special files:

    1. py.typed

  2. Special modules:

    1. __init__.py

    2. __version__.py

  3. Modules

    1. journalctl.py Module for system command journalctl

    2. systemctl.py Module for system command systemctl

Modules

Module: journalctl.py

The Module journalctl.py contains the single static class Journalctl.

Class: Journalctl

The static Class Journalctl has no variables and only static- or class-methods to call the system command journalctl.

Methods
Methods of class Journalctl

Name

Description

get_last_stop_ts

Get timestamp of the last stop of the given service

get_last_stop_ts_s

Get timestamp in seconds of the last stop of the given service

Method: get_last_stop_ts
Parameter
Parameter of Method get_last_stop_ts

Name

Type

Description

service_name

TyStr

Service name

Return Value
Return Value of Method get_last_stop_ts

Name

Type

Description

_ts_µs

TnFloat

Stop timestamp in microseconds

Method: get_last_stop_ts_s
Parameter
Parameter of Method get_last_stop_ts_s

Name

Type

Description

cls

Tycls

Current class

service_name

TyStr

Service name

Return Value
Return Value of Method get_last_stop_ts_s

Name

Type

Description

_ts_µs

TnFloat

Stop timestamp in seconds

Module: systemctl.py

The Module systemctl.py contains the single static class Systemctl.

Class: Systemctl

The static Class Journalctl has no variables and only static- or class-methods to call the system command journalctl.

Methods
Methods of class Journalctl

Name

Description

get_last_start_ts

Get timestamp of the last start of the given service

get_last_stop_ts_s

Get timestamp in seconds of the last stop of the given service

Method: get_last_start_ts
Parameter
Parameter of Method get_last_start_ts

Name

Type

Description

service_name

TyStr

Service name

Return Value
Return Value of Method get_last_start_ts

Name

Type

Description

_ts_s

TnFloat

Start timestamp in seconds

Method: get_last_stop_ts_s
Parameter
Parameter of Method get_last_stop_ts_s

Name

Type

Description

service_name

TyStr

Service name

Return Value
Return Value of Method get_last_stop_ts_s

Name

Type

Description

_ts_s

TnFloat

Stop timestamp in seconds

Appendix

Package Logging

Description

The Standard or user specifig logging is carried out by the log.py module of the logging package ka_uts_log using the standard- or user-configuration files in the logging package configuration directory:

  • <logging package directory>/cfg/ka_std_log.yml,

  • <logging package directory>/cfg/ka_usr_log.yml.

The Logging configuration of the logging package could be overriden by yaml files with the same names in the application package- or application data-configuration directories:

  • <application package directory>/cfg

  • <application data directory>/cfg.

Log message types

Logging defines log file path names for the following log message types: .

  1. debug

  2. info

  3. warning

  4. error

  5. critical

Log types and Log directories

Single or multiple Application log directories can be used for each message type:

Log types and directoriesg

Log type

Log directory

long

short

multiple

single

debug

dbqs

dbqs

logs

info

infs

infs

logs

warning

wrns

wrns

logs

error

errs

errs

logs

critical

crts

crts

logs

Application parameter for logging
Application parameter used in log naming

Name

Decription

Values

Example

dir_dat

Application data directory

/otev/data

tenant

Application tenant name

UMH

package

Application package name

otev_xls_srr

cmd

Application command

evupreg

pid

Process ID

681025

log_ts_type

Timestamp type used in logging files|ts, dt

ts, dt’

ts

log_sw_single_dir

Enable single log directory or multiple log directories

True, False

True

Log files naming
Naming Conventions
Naming conventions for logging file paths

Type

Directory

File

debug

/<dir_dat>/<tenant>/RUN/<package>/<cmd>/<Log directory>

<Log type>_<ts>_<pid>.log

info

/<dir_dat>/<tenant>/RUN/<package>/<cmd>/<Log directory>

<Log type>_<ts>_<pid>.log

warning

/<dir_dat>/<tenant>/RUN/<package>/<cmd>/<Log directory>

<Log type>_<ts>_<pid>.log

error

/<dir_dat>/<tenant>/RUN/<package>/<cmd>/<Log directory>

<Log type>_<ts>_<pid>.log

critical

/<dir_dat>/<tenant>/RUN/<package>/<cmd>/<Log directory>

<Log type>_<ts>_<pid>.log

Naming Examples
Naming examples for logging file paths

Type

Directory

File

debug

/data/otev/umh/RUN/otev_srr/evupreg/logs

debs_1737118199_9470.log

info

/data/otev/umh/RUN/otev_srr/evupreg/logs

infs_1737118199_9470.log

warning

/data/otev/umh/RUN/otev_srr/evupreg/logs

wrns_1737118199_9470.log

error

/data/otev/umh/RUN/otev_srr/evupreg/logs

errs_1737118199_9470.log

critical

/data/otev/umh/RUN/otev_srr/evupreg/logs

crts_1737118199_9470.log

Python Terminology

Python Packages

Overview
Python Packages Overview

Name

Definition

Python package

Python packages are directories that contains the special module __init__.py and other modules, packages files or directories.

Python sub-package

Python sub-packages are python packages which are contained in another pyhon package.

Python package sub-directory

directory contained in a python package.

Python package special sub-directory

Python package sub-directories with a special meaning like data or cfg

Examples
Python Package sub-directory-Examples

Name

Description

bin

Directory for package scripts.

cfg

Directory for package configuration files.

data

Directory for package data files.

service

Directory for systemd service scripts.

Python package files

Overview
Python package overview files

Name

Definition

Python package files

Files within a python package.

Python package special files

Package files which are not modules and used as python marker files like __init__.py.

Python package module

Files with suffix .py; they could be empty or contain python code; other modules can be imported into a module.

Python package special module

Modules like __init__.py or main.py with special names and functionality.

Examples
Python package special files
Python package special files

Name

Type

Description

py.typed

Type checking marker file

The py.typed file is a marker file used in Python packages to indicate that the package supports type checking. This is a part of the PEP 561 standard, which provides a standardized way to package and distribute type information in Python.

Python package special modules
Python package special modules

Name

Type

Description

__init__.py

Package directory marker file

The dunder (double underscore) module __init__.py is used to execute initialisation code or mark the directory it contains as a package. The Module enforces explicit imports and thus clear namespace use and call them with the dot notation.

__main__.py

entry point for the package

The dunder module __main__.py serves as an entry point for the package. The module is executed when the package is called by the interpreter with the command python -m <package name>.

__version__.py

Version file

The dunder module __version__.py consist of assignment statements used in Versioning.

Python methods

Overview
Python methods overview

Name

Description

Python method

Python functions defined in python modules.

Python special method

Python functions with special names and functionalities.

Python class

Classes defined in python modules.

Python class method

Python methods defined in python classes

Examples
Python methods examples

Name

Type

Description

__init__

class object constructor method

The special method __init__ is called when an instance (object) of a class is created; instance attributes can be defined and initalized in the method.

Table of Contents

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ut_ctl-1.1.2.20251008.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ut_ctl-1.1.2.20251008-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file ut_ctl-1.1.2.20251008.tar.gz.

File metadata

  • Download URL: ut_ctl-1.1.2.20251008.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for ut_ctl-1.1.2.20251008.tar.gz
Algorithm Hash digest
SHA256 1f3b7f2be9bfa5eb721b2af5c6af98392eeb42ee24193cf00192205c51ff299d
MD5 f27990c52fb777fdb39b4558f7b112c6
BLAKE2b-256 4729af4c482107c9ca22070cdbdb211269f2b6130c3facddb5d150f4e104a4c8

See more details on using hashes here.

File details

Details for the file ut_ctl-1.1.2.20251008-py3-none-any.whl.

File metadata

File hashes

Hashes for ut_ctl-1.1.2.20251008-py3-none-any.whl
Algorithm Hash digest
SHA256 fa39ab2ed12ee86ee73a44e3b8c88efb39839ade16bf38062b4690d107a5864b
MD5 4d7e7362d68ab5340b7c9e6f8f9e99e8
BLAKE2b-256 e581728e7358a62d672b41e6cd6fd54495f73883b8d6f2a23a54f3953a2691ad

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page