MythTVP5K operation: Difference between revisions
Jump to navigation
Jump to search
(New page: ==mythCheck.sh== #!/bin/bash typeset -i PROCESSES=`ps -e |grep mythfrontend|awk '{ if(match($0,"mythfrontend")>0){ x++ } if(match($0,"grep")>0){ ...) |
m (Added category: Software) |
||
(3 intermediate revisions by one other user not shown) | |||
Line 26: | Line 26: | ||
==mythDoShut.sh== |
==mythDoShut.sh== |
||
#!/bin/bash |
|||
echo test > /tmp/run3.txt |
|||
get_process_count(){ |
|||
typeset -i PROCESS_CNT=`ps -e |grep $1 |awk -v process_name=$1 '{ |
|||
if( match($0,process_name)>0 ) { |
|||
x++ |
|||
} |
|||
if( match($0,"grep")>0 ){ |
|||
y++ |
|||
} |
|||
}END{ |
|||
if(x==""){x=0;} |
|||
if(y==""){y=0;} |
|||
print x-y |
|||
}'` |
|||
return $PROCESS_CNT |
|||
} |
|||
get_process_count "gnome-session" |
|||
typeset -i PROCESSES=$? |
|||
get_process_count "kdesktop" |
|||
PROCESSES=$PROCESSES+$? |
|||
#07:34:24 up 57 min, 2 users, load average: 0.04, 0.03, 0.00 |
|||
#07:56:42 up 1:19, 2 users, load average: 0.00, 0.02, 0.00 |
|||
UPTIME=`uptime` |
|||
typeset -i UPTOTALMINUTES=`echo $UPTIME |awk '{ |
|||
if( $0 ~ /min/ ){ |
|||
min=$3 |
|||
hours=0 |
|||
total=hours*60+min |
|||
}else{ |
|||
endtime=index($3,",") |
|||
tmptime=substr($3,1,endtime-1) |
|||
split(tmptime,timeArray,":") |
|||
min=timeArray[2] |
|||
hours=timeArray[1] |
|||
total=min+(hours*60) |
|||
} |
|||
}END{print total}'` |
|||
if [ $UPTOTALMINUTES -lt 5 ]; then |
|||
#echo no shutdown machine if UPTIME is less than 5min |
|||
#only shutdown mythbackend |
|||
/sbin/service mythbackend stop&> /tmp/run |
|||
exit 1; |
|||
fi |
|||
if [ $PROCESSES == 0 ]; then |
|||
#echo shutdown machine |
|||
shutdown -h 0 |
|||
exit 0; |
|||
else |
|||
#echo do not shutdown machine |
|||
#only shutdown mythbackend |
|||
/sbin/service mythbackend stop& >/tmp/run1 |
|||
exit 1; |
|||
fi |
|||
exit 0; |
|||
==mythfrontend== |
|||
#In sudoers require: |
|||
#disable requiretty |
|||
#Cmnd_Alias MYTHTV = /sbin/service mythbackend stop, /sbin/service mythbackend start |
|||
#ALL ALL=(ALL) NOPASSWD: MYTHTV |
|||
sudo /sbin/service mythbackend start& >>/tmp/mythfrontend |
|||
sleep 5 |
|||
nohup /usr/bin/mythfrontend.bin >>/tmp/mythfrontend |
|||
==mythSetTime.sh== |
|||
alarmdate=`date -d "1970-01-01 $1 seconds" +"%Y-%m-%d %T"` |
|||
echo $alarmdate > /proc/acpi/alarm |
|||
atdate=`date -d "1970-01-01 UTC $1 seconds" +"%Y%m%d%H%M"` |
|||
lastAlarm=`tail -1 /tmp/alarm.txt` |
|||
lastTime=`echo $lastAlarm |awk '{print $NF}'` |
|||
if [ "$lastTime" = "$atdate" ]; then |
|||
echo "AT Job $lastTime exists for $atdate" > /tmp/alarm.txt |
|||
else |
|||
`echo "sudo /sbin/service mythbackend start& >>/tmp/mythfrontend" | at -t $atdate` |
|||
echo "create AT Job for $ataDate" > /tmp/alarm.txt |
|||
fi |
|||
echo $1 >> /tmp/alarm.txt |
|||
echo $alarmdate >> /tmp/alarm.txt |
|||
echo $atdate >> /tmp/alarm.txt |
|||
echo "sudo /sbin/service mythbackend start& >>/tmp/mythfrontend | at -t $atdate" >> /tmp/alarm.txt |
|||
[[Category:Software]] |
Latest revision as of 15:06, 7 May 2009
mythCheck.sh
#!/bin/bash typeset -i PROCESSES=`ps -e |grep mythfrontend|awk '{ if(match($0,"mythfrontend")>0){ x++ } if(match($0,"grep")>0){ y++ } }END{ if(x==""){x=0;} if(y==""){y=0;} print x-y }'` if [ $PROCESSES == 0 ]; then #echo shutdown exit 0; else #echo do not shutdown exit 1; fi exit 0;
mythDoShut.sh
#!/bin/bash echo test > /tmp/run3.txt get_process_count(){ typeset -i PROCESS_CNT=`ps -e |grep $1 |awk -v process_name=$1 '{ if( match($0,process_name)>0 ) { x++ } if( match($0,"grep")>0 ){ y++ } }END{ if(x==""){x=0;} if(y==""){y=0;} print x-y }'` return $PROCESS_CNT } get_process_count "gnome-session" typeset -i PROCESSES=$? get_process_count "kdesktop" PROCESSES=$PROCESSES+$? #07:34:24 up 57 min, 2 users, load average: 0.04, 0.03, 0.00 #07:56:42 up 1:19, 2 users, load average: 0.00, 0.02, 0.00 UPTIME=`uptime` typeset -i UPTOTALMINUTES=`echo $UPTIME |awk '{ if( $0 ~ /min/ ){ min=$3 hours=0 total=hours*60+min }else{ endtime=index($3,",") tmptime=substr($3,1,endtime-1) split(tmptime,timeArray,":") min=timeArray[2] hours=timeArray[1] total=min+(hours*60) } }END{print total}'` if [ $UPTOTALMINUTES -lt 5 ]; then #echo no shutdown machine if UPTIME is less than 5min #only shutdown mythbackend /sbin/service mythbackend stop&> /tmp/run exit 1; fi if [ $PROCESSES == 0 ]; then #echo shutdown machine shutdown -h 0 exit 0; else #echo do not shutdown machine #only shutdown mythbackend /sbin/service mythbackend stop& >/tmp/run1 exit 1; fi exit 0;
mythfrontend
#In sudoers require: #disable requiretty #Cmnd_Alias MYTHTV = /sbin/service mythbackend stop, /sbin/service mythbackend start #ALL ALL=(ALL) NOPASSWD: MYTHTV sudo /sbin/service mythbackend start& >>/tmp/mythfrontend sleep 5 nohup /usr/bin/mythfrontend.bin >>/tmp/mythfrontend
mythSetTime.sh
alarmdate=`date -d "1970-01-01 $1 seconds" +"%Y-%m-%d %T"` echo $alarmdate > /proc/acpi/alarm atdate=`date -d "1970-01-01 UTC $1 seconds" +"%Y%m%d%H%M"` lastAlarm=`tail -1 /tmp/alarm.txt` lastTime=`echo $lastAlarm |awk '{print $NF}'` if [ "$lastTime" = "$atdate" ]; then echo "AT Job $lastTime exists for $atdate" > /tmp/alarm.txt else `echo "sudo /sbin/service mythbackend start& >>/tmp/mythfrontend" | at -t $atdate` echo "create AT Job for $ataDate" > /tmp/alarm.txt fi echo $1 >> /tmp/alarm.txt echo $alarmdate >> /tmp/alarm.txt echo $atdate >> /tmp/alarm.txt echo "sudo /sbin/service mythbackend start& >>/tmp/mythfrontend | at -t $atdate" >> /tmp/alarm.txt