take a snapshot before upgrading
[fbsd-stable-mgmt.git] / portupgrade.sh
index bc766e40ebf2a316d916f9279113f25f920a945d..1e29340d46b58e373aab41be4c0554e538e2117e 100755 (executable)
@@ -1,9 +1,15 @@
 #!/bin/sh
 
 all_jails=`jls jid`
+
 DO_CLEAN=""
 DO_DIST=""
 
+do_snap()
+{
+       zfs snap -r zroot/JAILS/master@up || exit 0
+}
+
 do_all_jails(){
 
        echo '---------------------------------------'
@@ -14,9 +20,11 @@ do_all_jails(){
        echo Cleaning host 
        echo
        [ -n "${DO_CLEAN}" ] && pkg ${DO_CLEAN}
-       [ -n "${DO_CLEAN}" ] && pkg ${DO_DIST}
+       [ -n "${DO_DIST}" ] && pkg ${DO_DIST}
+       echo '---------------------------------------'
        for j in ${all_jails}
        do
+               echo
                echo '---------------------------------------'
                echo ":: jail `jls -j ${j} name` [ ${j} ] ::"
                echo ''
@@ -29,7 +37,8 @@ do_all_jails(){
                echo
                echo Cleanup distfiles
                echo
-               [ -n "${DO_CLEAN}" ] && pkg -j ${j} ${DO_DIST}
+               [ -n "${DO_DIST}" ] && pkg -j ${j} ${DO_DIST}
+               echo '---------------------------------------'
        done
 }
 
@@ -52,10 +61,12 @@ echo
 
 case "${yn}" in
        [Yy][eE][sS]|[yY])
-               DO_DIST="clean -a"
+               DO_DIST="clean -a -y"
                ;;
        *) 
                ;;
 esac
-echo removing distfiles
+
+zfs list -H -t snap -r zroot/JAILS/master@up || do_snap
+
 do_all_jails