mirror of
https://github.com/dw-0/kiauh.git
synced 2026-03-20 09:28:37 +05:00
Compare commits
5 Commits
0248ad1f70
...
d7f74ba9be
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d7f74ba9be | ||
|
|
d800d356ca | ||
|
|
08786d64e8 | ||
|
|
a976e60ffd | ||
|
|
3099a6c9fb |
1
kiauh.sh
1
kiauh.sh
@@ -82,6 +82,7 @@ function kiauh_update_dialog() {
|
||||
}
|
||||
|
||||
check_euid
|
||||
check_free_space
|
||||
init_logfile
|
||||
set_globals
|
||||
kiauh_update_dialog
|
||||
|
||||
@@ -43,15 +43,17 @@ function backup_config_dir() {
|
||||
|
||||
local i=0 folder folder_name target_dir
|
||||
for folder in ${config_pathes}; do
|
||||
status_msg "Create backup of ${folder} ..."
|
||||
|
||||
folder_name=$(echo "${folder}" | rev | cut -d"/" -f2 | rev)
|
||||
target_dir="${BACKUP_DIR}/configs/${current_date}/${folder_name}"
|
||||
mkdir -p "${target_dir}"
|
||||
cp -r "${folder}" "${target_dir}"
|
||||
i=$(( i + 1 ))
|
||||
|
||||
ok_msg "Backup created in:\n${target_dir}"
|
||||
if [[ -d ${folder} ]]; then
|
||||
status_msg "Create backup of ${folder} ..."
|
||||
|
||||
folder_name=$(echo "${folder}" | rev | cut -d"/" -f2 | rev)
|
||||
target_dir="${BACKUP_DIR}/configs/${current_date}/${folder_name}"
|
||||
mkdir -p "${target_dir}"
|
||||
cp -r "${folder}" "${target_dir}"
|
||||
i=$(( i + 1 ))
|
||||
|
||||
ok_msg "Backup created in:\n${target_dir}"
|
||||
fi
|
||||
done
|
||||
else
|
||||
ok_msg "No config directory found! Skipping backup ..."
|
||||
|
||||
@@ -28,6 +28,29 @@ function check_euid() {
|
||||
fi
|
||||
}
|
||||
|
||||
function check_free_space() {
|
||||
local mount_free mb_rec=2048
|
||||
local mount_check_regex='^/($|bin|etc|home|lib|mnt|opt|root|sbin|tmp|usr|var)' # all root dirs possibly relevant to software install
|
||||
for mount_check in $(cat /etc/mtab | grep '^/dev' | cut -d ' ' -f 2 | grep -E '${mount_check_regex}'); do
|
||||
mount_free=$(($(df -Pk ${mount_check} | sed 1d | grep -v used | awk '{ print $4 "\t" }')/1024))
|
||||
if [[ ${mount_free} -lt ${mb_req} ]]; then
|
||||
local yn
|
||||
while true; do
|
||||
echo -e "${yellow}Heads up! Free disk space in ${white}${mount_check}${yellow} is only ${white}${mount_free} MB${yellow}.${white}"
|
||||
read -p "${yellow}You may run into errors installing or updating software that uses this mountpoint. Proceed? (y|N): ${white}" yn
|
||||
case "${yn}" in
|
||||
Y|y|Yes|yes)
|
||||
break;;
|
||||
N|n|No|no|"")
|
||||
exit 1;;
|
||||
*)
|
||||
echo -e "${red}Please answer "y" or "n"${white}";;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
#================================================#
|
||||
#============= MESSAGE FORMATTING ===============#
|
||||
#================================================#
|
||||
|
||||
Reference in New Issue
Block a user