aboutsummaryrefslogtreecommitdiffstats
path: root/chapter6/backup.sh
blob: 6ffe768f4f29a7845770ae84d59c96e05fb6fa0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/bash

FILE="${LFS_VER}-ch6-backup.tar.xz"
DIRS=(bin etc lib lib64 sbin tools usr var)

if [ -f "${LFS}/sources/chapter6/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}"
		  exit 1
	  else
		  sudo chown "${USER}" /home/"${USER}"/"${FILE}"
		  echo -e "${GRN}OK${RST}"
	  fi
	popd > /dev/null || exit 1

	touch "${LFS}/sources/chapter6/backup"
fi