diff options
author | erdgeist <erdgeist@erdgeist.org> | 2008-07-06 22:24:56 +0000 |
---|---|---|
committer | erdgeist <erdgeist@erdgeist.org> | 2008-07-06 22:24:56 +0000 |
commit | 518ef661e17b170431d19fcc4d2b4fa02095a156 (patch) | |
tree | f501400d5d586e0c09fd6d6367e8bb8fb96e9264 /ezjail-admin | |
parent | aaf34bfa996e42ed05e3c6dd107d48085f7943d4 (diff) |
Making paths absolute did not work correctly. Also move commands handling multiple jails to a for loop instead of a while loop
Diffstat (limited to 'ezjail-admin')
-rwxr-xr-x | ezjail-admin | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/ezjail-admin b/ezjail-admin index b960044..b5715c1 100755 --- a/ezjail-admin +++ b/ezjail-admin | |||
@@ -249,13 +249,9 @@ ezjail_queryftpserver () { | |||
249 | 249 | ||
250 | # Make a path absolute, if it isn't already | 250 | # Make a path absolute, if it isn't already |
251 | ezjail_makeabsolute ( ) { | 251 | ezjail_makeabsolute ( ) { |
252 | if [ $# -eq 1 ]; then | 252 | eval [ \"\${$1%%[!/]*}\" -o "\${$1}" = "-" ] && return |
253 | path=`pwd -P` | 253 | [ "${2%%[!/]*}" ] && path=${2} || path=`pwd -P`/${2} |
254 | else | 254 | eval export ${1}="${path}/\${$1}" |
255 | path=$2 | ||
256 | ezjail_makeabsolute path | ||
257 | fi | ||
258 | eval [ \"\${$1%%[!/]*}\" -o "\${$1}" = "-" ] || eval export ${1}="${path}/\${$1}" | ||
259 | } | 255 | } |
260 | 256 | ||
261 | parse_geli_attach_args () { | 257 | parse_geli_attach_args () { |
@@ -826,9 +822,9 @@ archive) | |||
826 | # Fetch list of all ezjails | 822 | # Fetch list of all ezjails |
827 | [ "${ezjail_archivealljails}" -a -d "${ezjail_prefix}/etc/ezjail/" ] && cd "${ezjail_prefix}/etc/ezjail/" && set - `ls | xargs rcorder` | 823 | [ "${ezjail_archivealljails}" -a -d "${ezjail_prefix}/etc/ezjail/" ] && cd "${ezjail_prefix}/etc/ezjail/" && set - `ls | xargs rcorder` |
828 | 824 | ||
829 | while [ $# -gt 0 ]; do | 825 | for ezjail in $@; do |
830 | # Jail name mandatory | 826 | # Jail name mandatory |
831 | fetchjailinfo ${1%.norun} | 827 | fetchjailinfo ${ezjail%.norun} |
832 | 828 | ||
833 | # Check for existence of jail in our records | 829 | # Check for existence of jail in our records |
834 | [ "${ezjail_config}" ] || exerr "Error: Nothing known about jail ${ezjail_name}." | 830 | [ "${ezjail_config}" ] || exerr "Error: Nothing known about jail ${ezjail_name}." |
@@ -854,7 +850,7 @@ archive) | |||
854 | 850 | ||
855 | # If archive location is not absolute, prepend archive directory | 851 | # If archive location is not absolute, prepend archive directory |
856 | ezjail_makeabsolute ezjail_archive ${ezjail_archivedir} | 852 | ezjail_makeabsolute ezjail_archive ${ezjail_archivedir} |
857 | 853 | echo ${ezjail_archive} | |
858 | # It's a tar archive, after all | 854 | # It's a tar archive, after all |
859 | case ${ezjail_archive} in | 855 | case ${ezjail_archive} in |
860 | *.tar.gz|*.tgz|-) ;; | 856 | *.tar.gz|*.tgz|-) ;; |
@@ -880,8 +876,6 @@ archive) | |||
880 | # When archiving a running jail, some errors might occur | 876 | # When archiving a running jail, some errors might occur |
881 | [ $? -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}." | 877 | [ $? -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}." |
882 | 878 | ||
883 | # To the next jail on command line | ||
884 | shift 1 | ||
885 | unset ezjail_archive ezjail_archive_opt ezjail_addfiles | 879 | unset ezjail_archive ezjail_archive_opt ezjail_addfiles |
886 | done | 880 | done |
887 | ;; | 881 | ;; |
@@ -900,9 +894,8 @@ restore) | |||
900 | # Default archive directory to . | 894 | # Default archive directory to . |
901 | ezjail_archivedir=${ezjail_archivedir:-`pwd -P`} | 895 | ezjail_archivedir=${ezjail_archivedir:-`pwd -P`} |
902 | 896 | ||
903 | while [ $# -gt 0 ]; do | 897 | for ezjail_fromarchive in $@; do |
904 | unset ezjail_safename | 898 | unset ezjail_safename |
905 | ezjail_fromarchive=$1 | ||
906 | 899 | ||
907 | # if archive location is absolute and doesn't exist, fail | 900 | # if archive location is absolute and doesn't exist, fail |
908 | [ "${ezjail_fromarchive%%[!/]*}" -a ! -f "${ezjail_fromarchive}" ] && exerr "Error: File for archive ${ezjail_fromarchive} not found." | 901 | [ "${ezjail_fromarchive%%[!/]*}" -a ! -f "${ezjail_fromarchive}" ] && exerr "Error: File for archive ${ezjail_fromarchive} not found." |
@@ -955,7 +948,6 @@ restore) | |||
955 | . "${ezjail_tmpfile}" | 948 | . "${ezjail_tmpfile}" |
956 | rm -f "${ezjail_tmpfile}" | 949 | rm -f "${ezjail_tmpfile}" |
957 | 950 | ||
958 | shift 1 | ||
959 | done | 951 | done |
960 | ;; | 952 | ;; |
961 | ######################## ezjail-admin CONFIG ######################## | 953 | ######################## ezjail-admin CONFIG ######################## |