Skip to content

Instantly share code, notes, and snippets.

@sergsoares
Last active July 28, 2019 00:44
Show Gist options
  • Select an option

  • Save sergsoares/3fb347325ed4a335cc3e2314d6652fbe to your computer and use it in GitHub Desktop.

Select an option

Save sergsoares/3fb347325ed4a335cc3e2314d6652fbe to your computer and use it in GitHub Desktop.
Simple script to shutdown after SSH iddle.
#!/bin/bash
IDLE_SSH_CONNECTIONS=$(cat .shutdown-counter)
QUANTITY_OF_CONNECTION=$(who | wc -l)
echo "Idle: $IDLE_SSH_CONNECTIONS"
echo "Who logged: $QUANTITY_OF_CONNECTION"
if [ $IDLE_SSH_CONNECTIONS -gt 30 ]; then
echo 0 > .shutdown-counter
echo 'Shutdown executed'
sudo shutdown now
elif [ $QUANTITY_OF_CONNECTION -gt 0 ]; then
echo 'Reseting shutdown counter'
echo 0 > .shutdown-counter
else
echo 'Adding 1 minute to iddle time.'
echo $(expr $IDLE_SSH_CONNECTIONS + 1) > .shutdown-counter
fi
@sergsoares

sergsoares commented Jul 27, 2019

Copy link
Copy Markdown
Author

One Line solution:

if [ $(cat .shutdown-counter) -gt 30 ]; then echo 0 > .shutdown-counter; sudo shutdown now; elif [ $(who | wc -l) -gt 0 ]; then echo 0 > .shutdown-counter; else echo $(expr $(cat .shutdown-counter) + 1) > .shutdown-counter; fi;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment