Make sleep-until laptop-sleep-safe
by not waiting for the whole time at once but sleeping in chunks which then would wake up the device even when it slept most of the time-diff Signed-off-by: Knut Ahlers <knut@ahlers.me>
This commit is contained in:
parent
5a5cb420bd
commit
b7c7bab313
1 changed files with 8 additions and 1 deletions
|
@ -1,6 +1,8 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
default_sleep=10
|
||||||
|
|
||||||
source ${HOME}/bin/script_framework.sh
|
source ${HOME}/bin/script_framework.sh
|
||||||
|
|
||||||
time=${1:-}
|
time=${1:-}
|
||||||
|
@ -9,5 +11,10 @@ time=${1:-}
|
||||||
tdiff=$(($(date -d "$1" +%s) - $(date +%s)))
|
tdiff=$(($(date -d "$1" +%s) - $(date +%s)))
|
||||||
[ $tdiff -gt 0 ] || tdiff=$((tdiff + 86400))
|
[ $tdiff -gt 0 ] || tdiff=$((tdiff + 86400))
|
||||||
|
|
||||||
|
ttime=$(date -d "now + ${tdiff} seconds" +%s)
|
||||||
|
|
||||||
step "Sleeping ${tdiff}s until $(date -d "now + ${tdiff} seconds" "+%Y-%m-%d %H:%M:%S")..."
|
step "Sleeping ${tdiff}s until $(date -d "now + ${tdiff} seconds" "+%Y-%m-%d %H:%M:%S")..."
|
||||||
sleep ${tdiff}
|
while [ $(date +%s) -lt $ttime ]; do
|
||||||
|
tremain=$(( ttime - $(date +%s) ))
|
||||||
|
[ $tremain -gt $default_sleep ] && sleep $default_sleep || sleep $tremain
|
||||||
|
done
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue