You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ublinux-init/ublinux/rc.preinit/90-save-clean

31 lines
1.4 KiB

#!/usr/bin/env bash
ENABLED=yes
[[ ${ENABLED} == "yes" ]] || exit 0
DEBUGMODE=no
[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; }
SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@"
SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/save; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
## Удалить указанные изменения, после очистки параметр удаляется SAVE_CLEAN=
## Основная очиста выполняется при завершении работы /rc.halt.pre/*-save-clean, но если парметр не удалился или была задана опция в GRUB, то повторно выполнить очистку
exec_save_clean(){
CMDLINE_SAVE_CLEAN=$(cmdline_value save_clean)
[[ -n ${CMDLINE_SAVE_CLEAN} ]] && SAVE_CLEAN=${CMDLINE_SAVE_CLEAN}
if [[ -n ${SAVE_CLEAN} ]]; then
FILE_EXEC=$(find ${ROOTFS}/usr/lib/ublinux/rc.halt.pre -iname "*-save-clean")
[[ -n ${FILE_EXEC} ]] && ${FILE_EXEC} ${SAVE_CLEAN} && poweroff --force --reboot
fi
}
################
##### MAIN #####
################
exec_save_clean