From d0d0b28b8428ff1e66b048a7a08f79fe52eb3ce6 Mon Sep 17 00:00:00 2001 From: TomasM Date: Fri, 13 Oct 2017 04:48:32 -0400 Subject: [PATCH] save changes script --- tools/dir2sb | 2 +- tools/savechanges | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100755 tools/savechanges diff --git a/tools/dir2sb b/tools/dir2sb index a6bfad5..084e0c3 100755 --- a/tools/dir2sb +++ b/tools/dir2sb @@ -1,7 +1,7 @@ #!/bin/bash if [ "$2" = "" ]; then - echo "Usage: $0 [source directory] [target file.sb]" + echo "Usage: $0 [source_directory] [target_file.sb]" exit 1 fi diff --git a/tools/savechanges b/tools/savechanges new file mode 100755 index 0000000..1a266f4 --- /dev/null +++ b/tools/savechanges @@ -0,0 +1,34 @@ +#!/bin/bash + +TMP=/tmp/changes$$ +CHANGES=/mnt/live/memory/changes +EXCLUDE="^\$|/\$|[.]wh[.][.]wh[.]orph/|^[.]wh[.][.]wh[.]plnk/|^[.]wh[.][.]wh[.]aufs|^var/cache/|^var/backups/|^var/tmp/|^var/log/|^var/lib/apt/|^var/lib/dhcp/|^var/lib/systemd/|^sbin/fsck[.]aufs|^etc/resolv[.]conf|^etc/fstab|^etc/ld[.]so[.]cache|^boot/|^dev/|^mnt/|^proc/|^run/|^sys/|^tmp/" + +if [ "$1" = "" ]; then + echo "Usage: $0 [ target_file.sb ]" + exit 1 +fi + +# exclude the safe_file itself of course +EXCLUDE="$EXCLUDE|^""$(readlink -f "$1" | cut -b 2- | sed -r "s/[.]/[.]/")""\$" + +CWD=$(pwd) + +cd $CHANGES || exit + +mkdir -p $TMP +mount -t tmpfs tmpfs $TMP + +find \( -type d -printf "%p/\n" , -type f -print \) \ + | sed -r "s/[.]\\///" | egrep -v "$EXCLUDE" \ + | while read FILE; do +echo $FILE + cp -v --parents -afr $FILE $TMP +done + +cd $CWD + +mksquashfs $TMP "$1" -comp xz -b 512k -noappend + +umount $TMP +rmdir $TMP