Skip to content

Instantly share code, notes, and snippets.

@kirrmann
Created November 30, 2012 17:45
Show Gist options
  • Save kirrmann/4177311 to your computer and use it in GitHub Desktop.
Save kirrmann/4177311 to your computer and use it in GitHub Desktop.

Revisions

  1. kirrmann created this gist Nov 30, 2012.
    29 changes: 29 additions & 0 deletions check-reboot-required
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,29 @@
    #!/bin/bash

    os=$(facter operatingsystem)

    case "$os" in
    Fedora)
    kernel_installed=$(yum list installed kernel | tail -n 1 | awk '{print $2}')

    ;;
    Ubuntu)
    kernel_installed=$(grep vmlinuz /boot/grub/grub.cfg |
    awk '{print $2}' | xargs -I '{}' basename {} | uniq |
    head -n 1 | sed 's/vmlinuz\\-//')
    ;;
    *)
    echo "unknown os '$os'"
    exit 1
    ;;
    esac

    kernel_running=$(uname -r | sed 's/\\.x86_64//')

    if [ "$kernel_running" != "$kernel_installed" ]; then
    echo "rebooting ..."
    /sbin/reboot &
    exit 42
    else
    exit 0
    fi