Posted On December 14, 2020

Linux: Shell Script to Reboot Remote Devices Daily

kimconnect 0 comments
blog.KimConnect.com >> Linux >> Linux: Shell Script to Reboot Remote Devices Daily
  1. Set Variables
    remoteDevice=900.468.20.1
    username=admin
    password="PASSWORDHERE"
  2. Install sshpass if it doesn’t exist
    if ! sshpass -v sshpass &> /dev/null
    then
    echo "Installing sshpass..."
    apt install sshpass -y
    exit
    fi
  3. Create a script to reboot devices
    scriptFile=/usr/local/sbin/rebootDevice
    sudo cat << EOF > $scriptFile
    #!/bin/bash
    device="\$1"
    user="\$2"
    pass="\$3"
    command=\$(which sshpass)
    \$command -p \$pass /usr/bin/ssh \$user@\$device reboot
    EOF
  4. Add a line to crontab
    Option (a) Systematically
    line="
    # Reboot $remoteDevice
    0 2 * * * /usr/local/sbin/rebootDevice $remoteDevice $username \"$password\" > /dev/null"
    (crontab -l 2>/dev/null && echo "$line") | crontab -
    Option (b) Manually
    # Skip this alternative method of creating a new entry in cron manually
    sudo crontab -e
    #### Add this line ###
    # Call the reboot script at 2am everyday
    0 2 * * * /usr/local/sbin/rebootDevice x.x.x.x [USERNAMEHERE] "[PASSWORDHERE]" > /dev/null

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post

Disable Screensaver on CentOS 8

Here are a couple of tricks that worked in the past. I don't think they…

Git / Github / Gitlab

1. Install Git/Github/Gitlab This utility enables cloning of source codes to the local machine, among…

Linux: Testing Disk Speed

Below is an exercise in comparing 2 different media: external USB drive vs a SD…