Skip to content

Instantly share code, notes, and snippets.

@ivoarch
Last active August 29, 2015 14:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ivoarch/c23fc8ec2b7b83ee7e41 to your computer and use it in GitHub Desktop.
Save ivoarch/c23fc8ec2b7b83ee7e41 to your computer and use it in GitHub Desktop.
Изпълни команда след определено време на застой
#!/bin/env bash
# runafteridle.sh
TIME=$1
COMMAND=$2
LOGFILE="${HOME}/.runafteridle.log"
usage() {
echo ""
echo "$0 - Изпълни команда след определено време на застой"
echo ""
echo "(s) за секунди, (m) за минути, (h) за часове"
echo "Usage: $0 [TIME] [COMMAND]"
echo ""
echo "Пример (1): Изключване след 2 часа: $0 2h poweroff"
echo "Пример (2): Актуализиране на системата след 30 минути: $0 30m 'yum update -y'"
echo ""
}
if [ ! "$#" -eq 2 ]; then
usage;
exit;
fi
rm -f "$LOGFILE"
while true; do
MOUSE1="$(cat /proc/interrupts | grep 12: | awk '{print $2}')"
KBD1="$(cat /proc/interrupts | grep ' 1:' | awk '{print $2}')"
echo "$(date) MOUSE1 се равнява на $MOUSE1" >> "$LOGFILE"
echo "$(date) KBD1 се равнява на $KBD1" >> "$LOGFILE"
if [[ "$1" = [0-9]*[smh] ]]; then
sleep $TIME
MOUSE2="$(cat /proc/interrupts | grep 12: | awk '{print $2}')"
echo "$(date) MOUSE2 се равнява на $MOUSE2" >> "$LOGFILE"
KBD2=`cat /proc/interrupts | grep ' 1:' | awk '{print $2}'`
echo "$(date) KBD2 се равнява на $KBD2" >> "$LOGFILE"
else
usage;
fi
if [ "$MOUSE1" -eq "$MOUSE2" -a "$KBD1" -eq "$KBD2" ]; then
echo "$(date) $COMMAND" >> "$LOGFILE"
$COMMAND
fi
break
done
echo "Изход."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment