2019-01-04 13:51:05 +01:00
|
|
|
#!/bin/sh
|
2019-01-07 14:47:05 +01:00
|
|
|
#
|
|
|
|
# Make incremental inc of all jails
|
|
|
|
# Usage: inc
|
|
|
|
#
|
2019-01-04 13:51:05 +01:00
|
|
|
|
2020-04-01 07:31:33 +02:00
|
|
|
# shellcheck source=config
|
2019-01-04 13:51:05 +01:00
|
|
|
LIBDIR="$(dirname $0)" && . "${LIBDIR}/config"
|
|
|
|
|
|
|
|
date=$(date +"%Y-%m-%d-%H")
|
2019-01-08 16:23:46 +01:00
|
|
|
for jail in $("${LIBDIR}/bkctld-list"); do
|
2019-01-04 13:51:05 +01:00
|
|
|
inc="${INCDIR}/${jail}/${date}"
|
|
|
|
mkdir -p "${INCDIR}/${jail}"
|
|
|
|
if [ ! -d "${inc}" ]; then
|
|
|
|
start=$(date +"%H:%M:%S")
|
|
|
|
jail_inode=$(stat --format=%i "${JAILDIR}/${jail}")
|
|
|
|
if [ "$jail_inode" -eq 256 ]; then
|
|
|
|
/bin/btrfs subvolume snapshot -r "${JAILDIR}/${jail}" "${inc}" | debug
|
2020-03-05 14:42:29 +01:00
|
|
|
end=$(date +"%H:%M:%S")
|
|
|
|
notice "${jail} : made ${date} inc [${start}/${end}]"
|
2019-01-04 13:51:05 +01:00
|
|
|
else
|
2020-03-05 14:42:29 +01:00
|
|
|
lock="/run/lock/bkctld/inc-${jail}.lock"
|
|
|
|
if [ -f "${lock}" ]; then
|
|
|
|
warning "${jail} : trying to run already running inc"
|
|
|
|
else
|
|
|
|
(
|
|
|
|
mkdir -p /run/lock/bkctld && touch "${lock}"
|
|
|
|
trap "rm -f ${lock}" 0
|
|
|
|
cp -alx "${JAILDIR}/${jail}/" "${inc}"
|
|
|
|
end=$(date +"%H:%M:%S")
|
|
|
|
notice "${jail} : made ${date} inc [${start}/${end}]"
|
2020-03-09 16:08:17 +01:00
|
|
|
)
|
2020-03-05 14:42:29 +01:00
|
|
|
fi
|
2019-01-04 13:51:05 +01:00
|
|
|
fi
|
|
|
|
else
|
|
|
|
warning "${jail} : trying to made already existant inc"
|
|
|
|
fi
|
|
|
|
done
|