Git Product home page Git Product logo

dirtyboot's Introduction

dirtyboot

Whenever a Linux system does not shut down cleanly (e.g., due to a power outage, a system crash, etc), it is almost always an event of interest to the system administrator. This simple script keeps track of such events by detecting the subsequent "dirty" reboot, and writing a system log entry about it.

Mechanism

A systemd service, started early in the boot process, writes a marker file (/var/lib/dirtyboot by default). When the service is stopped, during system shutdown, the marker file is removed.

Thus, if the marker file is already present when the service starts, it means the system wasn't shut down cleanly before rebooting. Whenever this condition occurs, the service writes a corresponding warning to the system log.

Prerequisites

A Linux system based on systemd.

Inspecting dirty boot warnings

Run the command

journalctl -t dirtyboot

Installation

Put the systemd unit file in /etc/systemd/system, and the shell script to /usr/sbin/dirtyboot. Then enable the service using

systemctl enable dirtyboot

Motivation

I had an unstable system which tended to hang after long periods (days) of being mostly idle. I used this simple tool to keep track of the number of hard resets I had to do to restore operation of a hung system. Since system log entries are timestamped, it also records the time interval between such hard resets.

dirtyboot's People

Contributors

oreinert avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.