Files
Gist/iocage misc.sh
2024-01-26 12:22:08 +01:00

36 lines
1.1 KiB
Bash

# 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
# =========================================================================== #