3 echo -n "Saving configuration... "
5 if [ ! -f /etc/diskless ]
7 echo "No flash setup detected."
11 # Find all files newer than /etc/diskless and print them out
13 [ -d "${1}" ] || return 1
14 find "${1}" -type f -not -regex '.*/tmp/*.' -newer /etc/diskless -print
17 # Archive all newer files into a gzipped cpio archive
19 [ -d "${1}" ] || return 1
20 [ -f "${2}" ] && return 1
21 find_newer_files "${1}" | cpio -o | gzip -9 > "${2}"
24 # Archive specified files to named target
26 archive_cpio "${1}" "${2}.cpio.gz"
29 # Mount /conf read-write, and remount if it already is.
30 if [ $(grep -c /conf /etc/fstab) -gt 0 ]
41 # Store config in temp staging area
42 mkdir -p /conf/tmp || exit 1
43 archive /etc /conf/tmp/etc || exit 1
44 archive /var /conf/tmp/var || exit 1
46 # Rotate current config to dated backup
47 # Unlimited history method: (make sure you have provisions for removing the old backups, or this can get HUGE!
48 dest="$(date -r "$(stat -f '%c' "/conf/default")" "+%Y-%m-%dT%H-%M-%S")"
49 mv /conf/default "/conf/backup/${dest}" || exit 1
51 # Move temp config to current
52 mv /conf/tmp /conf/default || mv "/conf/backup/${dest}" "/conf/default"
54 # Umount /conf afterwards, if it wasn't mounted
55 if [ -z "${_was_mounted}" -a "$(mount |grep -c "/conf")" -gt 0 ]