diff --git a/iocage misc.sh b/iocage misc.sh new file mode 100644 index 0000000..33faa06 --- /dev/null +++ b/iocage misc.sh @@ -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 +# =========================================================================== # \ No newline at end of file