Add poweroff script 'poweroff.sh'.
This commit is contained in:
parent
6846bebd83
commit
5e9528baf9
46
poweroff.sh
Executable file
46
poweroff.sh
Executable file
@ -0,0 +1,46 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
if [ -n "$1" ];then
|
||||||
|
echo -e "\n [ Error ]: $1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat<<EOF
|
||||||
|
|
||||||
|
Usage: $(basename $0) YYY-MM-DD
|
||||||
|
|
||||||
|
$(basename $0) - Scripts shuts down this machine if the given date is the actual date.
|
||||||
|
|
||||||
|
The most common practice is, to use this script as cronjob.
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
[ $# -ne "1" ] && usage "wrong number of arguments"
|
||||||
|
|
||||||
|
_date=$1
|
||||||
|
|
||||||
|
IFS='-' read -a _val_arr <<< "$_date"
|
||||||
|
|
||||||
|
declare -i _year="${_val_arr[0]}"
|
||||||
|
declare -i _month="${_val_arr[1]}"
|
||||||
|
declare -i _day="${_val_arr[2]}"
|
||||||
|
|
||||||
|
if [[ $_month -lt 1 ]] || [[ $_month -gt 12 ]]; then
|
||||||
|
usage "Wrong date format."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $_day -lt 1 ]] || [[ $_day -gt 31 ]]; then
|
||||||
|
usage "Wrong date format."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $_year -lt $(date +%Y) ]] ; then
|
||||||
|
usage "Wrong date format."
|
||||||
|
fi
|
||||||
|
|
||||||
|
[[ "$(/bin/date +%Y-%m-%d)" == "$_date" ]] && /sbin/poweroff
|
||||||
|
#[[ "$(/bin/date +%Y-%m-%d)" == "$_date" ]] && echo "ok: $_date " || echo "failed: $_date"
|
||||||
|
|
||||||
|
exit 0
|
Loading…
Reference in New Issue
Block a user