aboutsummaryrefslogtreecommitdiffstats
path: root/chapter7
diff options
context:
space:
mode:
Diffstat (limited to 'chapter7')
-rw-r--r--chapter7/backup.sh25
1 files changed, 25 insertions, 0 deletions
diff --git a/chapter7/backup.sh b/chapter7/backup.sh
new file mode 100644
index 0000000..a32aeb4
--- /dev/null
+++ b/chapter7/backup.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+FILE="${LFS_VER}-ch7-backup.tar.xz"
+DIRS=(bin dev etc lib lib64 proc run sbin sources sys tools usr var)
+
+if [ -f "${LFS}/sources/chapter7/backup" ]; then
+ echo -e "${GRN}Backup found. Remove manually to backup again.${RST}"
+else
+
+ echo -ne "${GRN}Backing up ${YLW}${LFS}${GRN} to ${YLW}${FILE}${RST}... "
+ pushd "${LFS}" > /dev/null || exit 1
+ sudo XZ_OPTS="-T${NUMPROCS} -e" tar cJpf "${HOME}"/"${FILE}" "${DIRS[@]}" & pid=$!
+ spinner "$pid"
+ retval=$?
+ if [ "$retval" -ne 0 ]; then
+ echo -e "${RED}Backup FAILED!${RST}"
+ else
+ sudo chown "${USER}" /home/"${USER}"/"${FILE}"
+ echo -e "${GRN}OK${RST}"
+ fi
+ popd > /dev/null || exit 1
+
+ touch "${LFS}/sources/chapter7/backup"
+fi
+