Making paths absolute did not work correctly. Also move commands handling multiple jails to a for loop instead of a while loop
This commit is contained in:
parent
aaf34bfa99
commit
518ef661e1
22
ezjail-admin
22
ezjail-admin
@ -249,13 +249,9 @@ ezjail_queryftpserver () {
|
||||
|
||||
# Make a path absolute, if it isn't already
|
||||
ezjail_makeabsolute ( ) {
|
||||
if [ $# -eq 1 ]; then
|
||||
path=`pwd -P`
|
||||
else
|
||||
path=$2
|
||||
ezjail_makeabsolute path
|
||||
fi
|
||||
eval [ \"\${$1%%[!/]*}\" -o "\${$1}" = "-" ] || eval export ${1}="${path}/\${$1}"
|
||||
eval [ \"\${$1%%[!/]*}\" -o "\${$1}" = "-" ] && return
|
||||
[ "${2%%[!/]*}" ] && path=${2} || path=`pwd -P`/${2}
|
||||
eval export ${1}="${path}/\${$1}"
|
||||
}
|
||||
|
||||
parse_geli_attach_args () {
|
||||
@ -826,9 +822,9 @@ archive)
|
||||
# Fetch list of all ezjails
|
||||
[ "${ezjail_archivealljails}" -a -d "${ezjail_prefix}/etc/ezjail/" ] && cd "${ezjail_prefix}/etc/ezjail/" && set - `ls | xargs rcorder`
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
for ezjail in $@; do
|
||||
# Jail name mandatory
|
||||
fetchjailinfo ${1%.norun}
|
||||
fetchjailinfo ${ezjail%.norun}
|
||||
|
||||
# Check for existence of jail in our records
|
||||
[ "${ezjail_config}" ] || exerr "Error: Nothing known about jail ${ezjail_name}."
|
||||
@ -854,7 +850,7 @@ archive)
|
||||
|
||||
# If archive location is not absolute, prepend archive directory
|
||||
ezjail_makeabsolute ezjail_archive ${ezjail_archivedir}
|
||||
|
||||
echo ${ezjail_archive}
|
||||
# It's a tar archive, after all
|
||||
case ${ezjail_archive} in
|
||||
*.tar.gz|*.tgz|-) ;;
|
||||
@ -880,8 +876,6 @@ archive)
|
||||
# When archiving a running jail, some errors might occur
|
||||
[ $? -eq 0 ] || echo "Warning: Archiving jail ${ezjail_name} was not completely successful. For a running jail this is not unusual. You might want to check ${ezjail_archive}."
|
||||
|
||||
# To the next jail on command line
|
||||
shift 1
|
||||
unset ezjail_archive ezjail_archive_opt ezjail_addfiles
|
||||
done
|
||||
;;
|
||||
@ -900,9 +894,8 @@ restore)
|
||||
# Default archive directory to .
|
||||
ezjail_archivedir=${ezjail_archivedir:-`pwd -P`}
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
for ezjail_fromarchive in $@; do
|
||||
unset ezjail_safename
|
||||
ezjail_fromarchive=$1
|
||||
|
||||
# if archive location is absolute and doesn't exist, fail
|
||||
[ "${ezjail_fromarchive%%[!/]*}" -a ! -f "${ezjail_fromarchive}" ] && exerr "Error: File for archive ${ezjail_fromarchive} not found."
|
||||
@ -955,7 +948,6 @@ restore)
|
||||
. "${ezjail_tmpfile}"
|
||||
rm -f "${ezjail_tmpfile}"
|
||||
|
||||
shift 1
|
||||
done
|
||||
;;
|
||||
######################## ezjail-admin CONFIG ########################
|
||||
|
Loading…
x
Reference in New Issue
Block a user