#!/bin/bash # # vhost-stack # https://git.stack-source.com/msb/vhost-stack # MIT License Copyright (c) 2021 Matthew Saunders Brown # load include file source $(dirname $0)/vhost.sh help() { thisfilename=$(basename -- "$0") echo "Add file to all existing jails." echo "" echo "usage: $thisfilename pathtofile" echo "" echo " -h Print this help." exit } # check for and set file to be copied in to jails if [ -n "$1" ]; then if [ $1 == "-h" ]; then help else cpfile=$1 shift fi else echo "file to copy in to jails not set" exit 1 fi # make sure file exists if [ ! -f "$cpfile" ]; then echo "invalid file for copying in to jails" exit 1 fi # make sure jails dir exists if [[ ! -e /usr/jails/ ]]; then echo "/usr/jails does not exist" exit 1 fi # check for /usr/sbin/jk_cp if [[ ! -x "/usr/sbin/jk_cp" ]]; then echo "/usr/sbin/jk_cp does not exist or is not executable" exit 1 fi # get list of jails cd /usr/jails/ jails=(*) for jail in "${!jails[@]}" do jail=${jails[$jail]} echo "adding $cpfile to $jail" jk_cp -k -j /usr/jails/$jail $cpfile done