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