Add 'iocage misc.sh'

This commit is contained in:
2024-01-26 12:22:08 +01:00
parent 5db29434f5
commit 87a5e37c5a

36
iocage misc.sh Normal file
View File

@ -0,0 +1,36 @@
# Get iocage jail mount location
JAILS_MOUNT=$(zfs get -H -o value mountpoint $(iocage get -p)/iocage)
# JAILS: Extract IP and netmask, sanity check netmask
# =========================================================================== #
# Extract IP
if [ $(iocage get dhcp ${JAIL_NAME}) ]; then
JAIL_IP=`iocage exec ${JAIL_NAME} "ifconfig epair0b | sed -n '/.inet /{s///;s/ .*//;p;}'"`
else
JAIL_IP=`iocage get ip4_addr ${JAIL_NAME}`
fi
# Extract netmask
NETMASK=$(echo ${JAIL_IP} | cut -f2 -d/)
# Sanity check netmask
if [ "${NETMASK}" = "${JAIL_IP}" ]
then
NETMASK="24"
fi
if [ "${NETMASK}" -lt 8 ] || [ "${NETMASK}" -gt 30 ]
then
NETMASK="24"
fi
# =========================================================================== #
# Run multiple commands inside jail
# =========================================================================== #
cat << EOF | iocage console $JAIL_NAME
# do stuff inside jail
EOF
# Run csh script inside jail
cat $SCRIPTPATH | iocage console $JAIL_NAME
# =========================================================================== #