hakeの日記

Windows環境でプログラミングの勉強をしています。

指定時刻に電源オフ

寒くなってくると布団にもぐりながらザウルスでネット閲覧が快適なのですが、そのまま寝落ちしてしまうこともしばしば(^^ゞ 残念なことにネット接続しているとオートパワーオフ機能が使えません。
というわけで昔の日記を参考にスクリプトを書いてみました、久し振りだなぁ

sleep.sh

ネット切断して電源オフする

#!/bin/sh
QCOP=/home/QtPalmtop/bin/qcop
export QTDIR=/home/QtPalmtop

#/home/QtPalmtop/bin/bell
$QCOP QPE/Network 'stop()'
sleep 20
$QCOP QPE/Application/suspend 'raise()'

at_entry.sh

指定時刻にsleep.shを実行

#!/bin/sh

AT=/home/QtPalmtop/bin/at
ATD=/home/QtPalmtop/bin/atd
ATSPOOL=/var/spool/at

ATTIME=`date -d "$1" +%s`             # 時刻を絶対指定する場合

#NOW=`date +%s`                       # 時刻を相対指定する場合は
#ATTIME=`expr "$NOW" + 60 \* "$1"`    #  この2行を使用

ATFILE=$ATSPOOL/$ATTIME.999
#echo $ATFILE

echo \#!/bin/sh >> $ATFILE
echo rm \$0 >> $ATFILE
echo export LOGNAME=root >> $ATFILE
echo export QTDIR=/home/QtPalmtop >> $ATFILE
echo /home/zaurus/Documents/sleep.sh >> $ATFILE     # 実行するsleep.shを指定
chmod a+x $ATFILE
$ATD $ATSPOOL

実行(root権限にて)

絶対指定する場合は

# at_entry.sh 2007.12.27-00:00:00

今から60分後という相対指定する場合は

# at_entry.sh 60