]> oss.titaniummirror.com Git - ovzbpc.git/blobdiff - bpcdump
Change README file name
[ovzbpc.git] / bpcdump
diff --git a/bpcdump b/bpcdump
index ac68f0e9a81b915f01d9f86f68f6895044391001..fff636ab3e0bc119075185a75faee3b1535d418a 100755 (executable)
--- a/bpcdump
+++ b/bpcdump
@@ -19,6 +19,8 @@ EXTFS=/media/esata
 unset WRITEPAR
 INFO=/dev/null
 export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/usr/sbin:$PATH
+SCRIPT_EXT="start stop mount umount"
+CONF_DIR=/etc/vz/conf
 
 # FUNCTIONS
 
@@ -41,6 +43,11 @@ restartve()
     if [ -n "$running" ]; then
        info "restarting VEID $VEID"
        vzctl start $VEID && unset running
+       if [ $? = 0 ]; then
+           info "VEID $VEID has been started"
+       else
+           error "VEID $VEID failed to start; backup continues"
+       fi
     fi
 }
 
@@ -114,6 +121,17 @@ if [ -n "$running" ]; then
     vzctl stop $VEID
 fi
 
+# Copy the VE's configuration file into its /etc/vzdump directory, as vzdump
+# does (for consistency)
+for file in $(echo "$SCRIPT_EXT"); do
+    if [ -f "$file" ]; then
+       destdir="${VEMNT}/etc/vzdump"
+       mkdir -p "$destdir"
+       info "Preserve config file ${VEID}.${SCRIPT_EXT}"
+       cp "${CONF_DIR}/${VEID}.${SCRIPT_EXT}" "${destdir}/vps.${SCRIPT_EXT}"
+    fi
+done
+
 # Unmount the filesystem, first getting its size
 if mount | grep -q "on $VEMNT"; then
     mounted=1 # duplicate; vzctl status told us...
@@ -131,9 +149,8 @@ fi
 # Before we begin writing, remove old backup dirs until we have room
 dstblks=$(df -P "$EXTFS" | grep "$EXTFS" | awk '{ print $4 }')
 while [ $dstblks -le $srcblks ]; do
-    info "Not enough space on $EXTFS"
-    oldest=$(cd $EXTFS && eval ls -ltd "ve${VEID}*" 2>/dev/null | tail -1 | \
-       awk '{ print $8 }')
+    info "Only $dstblks free on $EXTFS"
+    oldest=$(cd $EXTFS && eval ls -td "ve${VEID}*" 2>/dev/null | tail -1)
     if [ -d "$EXTFS/$oldest" ]; then
        info "Removing old backup $oldest from $EXTFS"
        rm -rf "$EXTFS/$oldest"
@@ -213,3 +230,5 @@ if [ -n "$WRITEPAR" ]; then
 fi
 
 cleanup 0 "successful"
+
+# vi: set shiftwidth=4: