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

Linux: Disks & Memory Management

Step 1: Discovery of Disks on a System # Using List hardware to gather general…

CentOS 8: How to Only Apply Security Updates

[cuilo@test-box ~]# sudo yum --security update CentOS-8 - AppStream 12 kB/s | 4.3 kB 00:00…

Quick Note on Tomcat with NGINX

Below is a quick short-hand note to remind oneself to setup proxying properly between Tomcat…