064481cee34f2a3ac960f60d32fc5d16869feaae
[myops.git] / web / collect / client / upload.sh
1 #!/bin/bash
2
3 if [ -f /etc/planetlab/plc_config ]; then
4         source /etc/planetlab/plc_config
5 else
6         PLC_SLICE_PREFIX='pl'
7 fi
8 if [ -f /usr/boot/cacert.pem ] ; then
9         CURL_ARGS="$CURL_ARGS --cacert /usr/boot/cacert.pem"
10 else
11         CURL_ARGS="$CURL_ARGS --insecure"
12 fi
13
14 export MYOPS_SERVER=IPADDR
15
16 function upload_log ()
17 {
18     file=$1
19     path=$2
20     base=$( basename $file )
21     old=/tmp/${base}.old
22     new=/tmp/${base}.new
23     log=/tmp/${base}.log
24     if [ ! -f $file ] ; then
25         return
26     fi
27     if [ -f $new ] ; then
28         cp $new $old
29     else
30         touch $old
31     fi
32     cp $file $new
33     #comm -1 -3 $old $new > $log
34     cp $new $log
35     if [ $( stat -c %s $log ) -ne 0 ] ; then
36         curl $CURL_ARGS --max-time 60 --silent https://${MYOPS_SERVER}/upload.php --form "log=@$log"
37         if [ $? -ne 0 ] ; then
38             # the upload has failed, so remove new file so no data is lost
39             rm -f /tmp/$( basename $file ).new
40         fi
41     fi
42 }
43
44 function upload_logs ()
45 {
46     upload_log $1 multiops
47 }
48
49 upload_logs /home/${PLC_SLICE_PREFIX}_myops/myops.log
50