Benjamin Renard commited on 2009-10-15 17:26:07
Showing 1 changed files, with 47 additions and 0 deletions.
... | ... |
@@ -0,0 +1,47 @@ |
1 |
+#!/bin/bash |
|
2 |
+ |
|
3 |
+LOG=/var/log/postgresql/postgresql-8.3-main.log |
|
4 |
+WAL=/var/lib/postgresql/8.3/main/wal_archives |
|
5 |
+WARN=5 |
|
6 |
+CRIT=10 |
|
7 |
+WARN_SIZE=500 |
|
8 |
+CRIT_SIZE=1000 |
|
9 |
+ |
|
10 |
+verb=0 |
|
11 |
+[ "$1" == "-v" ] && verb=1 |
|
12 |
+ |
|
13 |
+last="`grep "restored log file" $LOG|tail -n 1|sed 's/.*restored log file "\([^"]*\)".*/\1/g'`" |
|
14 |
+[ $verb -eq 1 ] && echo "Last : $last" |
|
15 |
+if [ ! -f $WAL/$last ] |
|
16 |
+then |
|
17 |
+ echo "PG RESTORE UNKNOWN: The last restored file ($last) is not available" |
|
18 |
+ exit 3 |
|
19 |
+fi |
|
20 |
+nb=`find $WAL -type f -cnewer $WAL/$last|wc -l` |
|
21 |
+[ $verb -eq 1 ] && echo "Nb files : $nb" |
|
22 |
+nbtot=`find $WAL -type f |wc -l` |
|
23 |
+[ $verb -eq 1 ] && echo "Nb total files : $nbtot" |
|
24 |
+let 'nbnodel=nbtot-nb' |
|
25 |
+[ $verb -eq 1 ] && echo "Nb not deleted files : $nbnodel" |
|
26 |
+size=`du -sm $WAL|sed 's/\([0-9]*\).*/\1/g'` |
|
27 |
+[ $verb -eq 1 ] && echo "Size : $size MB" |
|
28 |
+ |
|
29 |
+STATE=OK |
|
30 |
+EXIT=0 |
|
31 |
+MSG="all files have been restored ($size MB - $nbnodel files not deleted)." |
|
32 |
+if [ $nb -gt $CRIT -o $size -gt $CRIT_SIZE ] |
|
33 |
+then |
|
34 |
+ STATE="CRITICAL" |
|
35 |
+ EXIT=2 |
|
36 |
+ MSG="$nb files not restored ($size MB - $nbnodel files not deleted)." |
|
37 |
+else |
|
38 |
+ if [ $nb -gt $WARN -o $size -gt $WARN_SIZE ] |
|
39 |
+ then |
|
40 |
+ STATE="WARNING" |
|
41 |
+ EXIT=1 |
|
42 |
+ MSG="$nb files not restored ($size MB - $nbnodel files not deleted)." |
|
43 |
+ fi |
|
44 |
+fi |
|
45 |
+ |
|
46 |
+echo "PG RESTORE $STATE: $MSG" |
|
47 |
+exit $EXIT |
|
0 | 48 |