From c89b75778b1261cf86e8f9266944528444b439f6 Mon Sep 17 00:00:00 2001 From: Stephen Soltesz Date: Thu, 7 Oct 2010 18:24:24 +0000 Subject: [PATCH] prevent lost data in case upload fails --- histlog/collect_log_sh | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) 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 -- 2.43.0