OSDN Git Service

9682df8c13ab20080f5f9dbfb4a49af00f27c2ff
[lxcf/lxcf.git] / lxcf / lib / lxcf-queue-clear
1 #!/bin/sh
2
3 # LXCF - LXC Facility
4 # copyright (C) 2014 FUJITSU LIMITED All Rights Reserved
5
6 # This program is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU General Public License
8 # as published by the Free Software Foundation; version 2
9 # of the License.
10
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  
19 # 02110-1301, USA.
20
21 LOGFILE="/var/log/lxcf/lxcf-messages"
22
23 # check root
24 if [ ${EUID:-${UID}} != 0 ]; then
25     echo "error: Because you are not root, you cannot execute this command. "
26     exit 1
27 fi
28
29 # check args
30 FLG_H=0
31 FLG_Q=0
32 FLG_L=0
33 FLG_ALL=1
34
35 while getopts hql OPT
36 do
37   case $OPT in
38     "h" ) FLG_H=1 ; FLG_ALL=0 ;;
39     "q" ) FLG_Q=1 ; FLG_ALL=0 ;;
40     "l" ) FLG_L=1 ; FLG_ALL=0 ;;
41   esac
42 done
43 shift `expr $OPTIND - 1`
44
45 # check args
46 if [ $# -ne 0 ]; then
47         echo "usage: lxcf queue clear [-h] [-q] [-l] "
48         exit 1
49 fi
50
51 TM=`LANG=C date +"%c"`
52
53 if [ $FLG_ALL -eq 1 ]; then
54   flock $LOGFILE echo "###" $TM "CLEAR" "###" >> $LOGFILE 
55   flock /var/tmp/lxcf/hqueue cat /var/tmp/lxcf/hqueue >> $LOGFILE 
56   flock /var/tmp/lxcf/qqueue cat /var/tmp/lxcf/qqueue >> $LOGFILE 
57   flock /var/tmp/lxcf/lqueue cat /var/tmp/lxcf/lqueue >> $LOGFILE 
58   flock $LOGFILE echo "###" "CLEARED" "###" >> $LOGFILE 
59
60   echo "canceled : ALL QUEUE"
61   cat /var/tmp/lxcf/hqueue 
62   cat /var/tmp/lxcf/qqueue 
63   cat /var/tmp/lxcf/lqueue 
64
65   flock /var/tmp/lxcf/hqueue cat /dev/null > /var/tmp/lxcf/hqueue
66   flock /var/tmp/lxcf/qqueue cat /dev/null > /var/tmp/lxcf/qqueue
67   flock /var/tmp/lxcf/lqueue cat /dev/null > /var/tmp/lxcf/lqueue
68   exit 0
69 fi
70
71 if [ $FLG_H -eq 1 ]; then
72   flock $LOGFILE echo "###" $TM "CLEAR H-QUEUE" "###" >> $LOGFILE 
73   flock /var/tmp/lxcf/hqueue cat /var/tmp/lxcf/hqueue >> $LOGFILE 
74   flock $LOGFILE echo "###" "CLEARED" "###" >> $LOGFILE 
75
76   echo "canceled : H-QUEUE"
77   cat /var/tmp/lxcf/hqueue
78
79   flock /var/tmp/lxcf/hqueue cat /dev/null > /var/tmp/lxcf/hqueue
80 fi
81 if [ $FLG_Q -eq 1 ]; then
82   flock $LOGFILE echo "###" $TM "CLEAR Q-QUEUE" "###" >> $LOGFILE 
83   flock /var/tmp/lxcf/qqueue cat /var/tmp/lxcf/qqueue >> $LOGFILE 
84   flock $LOGFILE echo "###" "CLEARED" "###" >> $LOGFILE 
85
86   echo "canceled : Q-QUEUE"
87   cat /var/tmp/lxcf/qqueue
88
89   flock /var/tmp/lxcf/qqueue cat /dev/null > /var/tmp/lxcf/qqueue
90 fi
91 if [ $FLG_L -eq 1 ]; then
92   flock $LOGFILE echo "###" $TM "CLEAR L-QUEUE" "###" >> $LOGFILE 
93   flock /var/tmp/lxcf/lqueue cat /var/tmp/lxcf/lqueue >> $LOGFILE 
94   flock $LOGFILE echo "###" "CLEARED" "###" >> $LOGFILE 
95
96   echo "canceled : L-QUEUE"
97   cat /var/tmp/lxcf/lqueue
98
99   flock /var/tmp/lxcf/lqueue cat /dev/null > /var/tmp/lxcf/lqueue
100 fi
101
102 exit 0