You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
3.0 KiB
Bash
111 lines
3.0 KiB
Bash
#dev-begin
|
|
# shellcheck disable=SC2148
|
|
# shellcheck disable=SC2155
|
|
|
|
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
# IMPORTS
|
|
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
# shellcheck source=./headers.sh
|
|
source ./headers.sh
|
|
#dev-end
|
|
|
|
#=======================================
|
|
# CLEANUP LOGIC
|
|
#=======================================
|
|
|
|
do_cleanup_sys() {
|
|
ohai "Sprzątanie dziennik systemowego..."
|
|
event_mark "cleanup"
|
|
journalctl --vacuum-size=50M >>"$LOGTO" 2>&1
|
|
ohai "Czyszczenie systemu apt..."
|
|
msgnote "Ta operacja może TROCHĘ potrwać (od kilku do kilkudziesięciu minut...)"
|
|
apt-get -y autoremove >>"$LOGTO" 2>&1 && apt-get -y clean >>"$LOGTO" 2>&1
|
|
msgcheck "Czyszczenie dziennika i apt zakończono"
|
|
}
|
|
|
|
do_cleanup_docker() {
|
|
ohai "Usuwanie nieużywanych obrazów Dockera..."
|
|
event_mark "cleanup"
|
|
msgnote "Ta operacja może TROCHĘ potrwać (do kilku minut...)"
|
|
docker image prune -af >>"$LOGTO" 2>&1
|
|
msgcheck "Czyszczenie Dockera zakończono"
|
|
}
|
|
|
|
do_cleanup_db() {
|
|
ohai "Usuwanie kopii zapasowych bazy danych..."
|
|
event_mark "cleanup"
|
|
find /srv/nightscout/data/dbbackup ! -type d -delete
|
|
msgcheck "Czyszczenie kopii zapasowych zakończono"
|
|
}
|
|
|
|
do_cleanup_container_logs() {
|
|
ohai "Zatrzymywanie kontenerów..."
|
|
event_mark "cleanup"
|
|
docker stop 'ns-server'
|
|
docker stop 'ns-database'
|
|
docker stop 'ns-backup'
|
|
ohai "Usuwanie logów kontenerów..."
|
|
truncate -s 0 "$(docker inspect --format='{{.LogPath}}' 'ns-server')"
|
|
truncate -s 0 "$(docker inspect --format='{{.LogPath}}' 'ns-database')"
|
|
truncate -s 0 "$(docker inspect --format='{{.LogPath}}' 'ns-backup')"
|
|
ohai "Ponowne uruchamianie kontenerów..."
|
|
docker start 'ns-server'
|
|
docker start 'ns-database'
|
|
docker start 'ns-backup'
|
|
msgok "Logi usunięte"
|
|
}
|
|
|
|
do_cleanup_diagnostics() {
|
|
ohai "Sprzątanie diagnostyki"
|
|
rm -f "$SUPPORT_LOG"
|
|
rm -f "$SUPPORT_LOG.gz"
|
|
rm -f "$SUPPORT_LOG.gz.asc"
|
|
}
|
|
|
|
do_cleanup_app_state() {
|
|
ohai "Sprzątanie stanu aplikacji"
|
|
rm -f "$UPDATE_CHANNEL_FILE"
|
|
rm -f "$EVENTS_DB"
|
|
}
|
|
|
|
do_cleanup_app_logs() {
|
|
ohai "Sprzątanie logów aplikacji"
|
|
rm -f "$WATCHDOG_STATUS_FILE"
|
|
rm -f "$WATCHDOG_TIME_FILE"
|
|
rm -f "$WATCHDOG_LOG_FILE"
|
|
rm -f "$WATCHDOG_FAILURES_FILE"
|
|
rm -f "$WATCHDOG_CRON_LOG"
|
|
}
|
|
|
|
cleanup_stats() {
|
|
local spaceInfo=$(get_space_info)
|
|
local remainingTxt=$(echo "$spaceInfo" | awk '{print $3}' | numfmt --to iec-i --suffix=B)
|
|
local totalTxt=$(echo "$spaceInfo" | awk '{print $2}' | numfmt --to iec-i --suffix=B)
|
|
local percTxt=$(echo "$spaceInfo" | awk '{print $4}')
|
|
local fixedPerc=$percTxt
|
|
|
|
local nowB=$(echo "$spaceInfo" | awk '{print $3}')
|
|
local lastTimeB=$(echo "$lastTimeSpaceInfo" | awk '{print $3}')
|
|
local savedB=$((nowB - lastTimeB))
|
|
local savedTxt=$(echo "$savedB" | numfmt --to iec-i --suffix=B)
|
|
|
|
if ((savedB < 1)); then
|
|
savedTxt="---"
|
|
fi
|
|
|
|
hline
|
|
printf " Dostępne: %s\n Zwolniono: %s\n Zajęte: %s (z %s)\n" "${remainingTxt}" "${savedTxt}" "${fixedPerc}" "${totalTxt}"
|
|
hline
|
|
}
|
|
|
|
do_cleanup_all() {
|
|
echo "Sprzątanie..."
|
|
lastTimeSpaceInfo=$(get_space_info)
|
|
hline
|
|
do_cleanup_container_logs
|
|
do_cleanup_sys
|
|
do_cleanup_docker
|
|
do_cleanup_db
|
|
cleanup_stats
|
|
}
|