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
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
}
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...
# 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"
fi
cleanup 0 "successful"
+
+# vi: set shiftwidth=4: