From: Stephen Soltesz Date: Thu, 7 Oct 2010 18:24:24 +0000 (+0000) Subject: prevent lost data in case upload fails X-Git-Tag: monitor-3.1-1~3 X-Git-Url: http://git.onelab.eu/?p=monitor.git;a=commitdiff_plain;h=c89b75778b1261cf86e8f9266944528444b439f6 prevent lost data in case upload fails --- diff --git a/histlog/collect_log_sh b/histlog/collect_log_sh index b8d535e..91dd0fb 100644 --- a/histlog/collect_log_sh +++ b/histlog/collect_log_sh @@ -6,15 +6,23 @@ function upload_log () old=/tmp/$( basename $file ).old new=/tmp/$( basename $file ).new log=/tmp/$( basename $file ).log - touch $old + if [ -f $new ] ; then + cp $new $old + else + touch $old + fi cp $file $new comm -1 -3 $old $new > $log - cp $new $old - if [ $( stat -c %s $log ) -ne 0 ] ; then + if [ $( stat -c %s $log ) -ne 0 ] ; then curl --insecure https://monitor.planet-lab.org/monitor/uploadlogs --form "dir=$path" --form "log=@$log" + if [ $? -ne 0 ] ; then + # the upload has failed, so remove new file so no data is lost + rm -f /tmp/$( basename $file ).new + fi fi } + upload_log ~/.bash_eternal_history hist #upload_log /var/log/secure hist