]> oss.titaniummirror.com Git - ovzbpc.git/blobdiff - bpcdump
bpcdump: capture all log output
[ovzbpc.git] / bpcdump
diff --git a/bpcdump b/bpcdump
index 0563e13c99035693d33867f7c53511394ed8a2d3..efb845621750ccc9bf83b0bfc5b340144eadf2d6 100755 (executable)
--- a/bpcdump
+++ b/bpcdump
@@ -19,10 +19,10 @@ VEDEV=/dev/vg0/ve$VEID
 VEMNT=/var/lib/vz/private/$VEID
 EXTFS=/media/esata
 unset WRITEPAR
-INFO=/dev/null
 export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/usr/sbin:$PATH
 SCRIPT_EXT="conf start stop mount umount"
 CONF_DIR=/etc/vz/conf
+INFO=$(mktemp -q /tmp/bpcdump.XXXXX)
 
 # FUNCTIONS
 
@@ -86,6 +86,17 @@ cleanup()
 
 # MAIN
 
+STARTDATE=$(date)
+cat > "$INFO" <<+EOF+
+Date: $STARTDATE
+VEID: $VEID
+Volume: $VEDEV
+dd_rescue log: ddrlog
+dd_rescue bad blocks: ddrbb
+image file: image
+
++EOF+
+
 trap "cleanup 1 \"termination by signal\"" SIGINT SIGTERM
 
 if [ $(whoami) != "root" ]; then
@@ -185,22 +196,14 @@ if [ -d "$EXTVEIDFS" ]; then
 else
     rm -rf "$EXTVEIDFS"
 fi
-mkdir "$EXTVEIDFS"
-date > "$EXTVEIDFS/begin"
-if ! cd "$EXTVEIDFS"; then
-    cleanup 1 "cannot change into $EXTVEIDFS directory"
-fi
+mkdir "$EXTVEIDFS" || cleanup 1 "cannot mkdir $EXTVEIDFS/"
+cd "$EXTVEIDFS" || cleanup 1 "cannot cd into $EXTVEIDFS/"
+echo "$STARTDATE" > "$EXTVEIDFS/begin"
 
+# Move temporary INFO file to its permanent home within $EXTVEIDFS
+mv "$INFO" "$EXTVEIDFS/info" || cleanup 1 "cannot mv file to $EXTVEIDFS/"
 INFO="$EXTVEIDFS/info"
-cat > "$INFO" <<+EOF+
-Date: $(date)
-VEID: $VEID
-Volume: $VEDEV
-dd_rescue log: ddrlog
-dd_rescue bad blocks: ddrbb
-image file: image
 
-+EOF+
 info "copy $VEID device $VEDEV to $EXTVEIDFS/image"
 time dd_rescue -Aqy 8192 -l "$EXTVEIDFS/ddrlog" -o "$EXTVEIDFS/ddrbb" \
        $VEDEV "$EXTVEIDFS/image"