X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=bpcdump;h=fff636ab3e0bc119075185a75faee3b1535d418a;hb=refs%2Fheads%2Fold%2Fovz;hp=ac68f0e9a81b915f01d9f86f68f6895044391001;hpb=07acea4fc76e8cde4ec6a1746f668af09058df74;p=ovzbpc.git diff --git a/bpcdump b/bpcdump index ac68f0e..fff636a 100755 --- 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: