36 lines
1.1 KiB
Bash
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
|
|
# =========================================================================== # |