Compare commits

...

3 Commits

Author SHA1 Message Date
cbb493b5c4 ClamAV (WIP) 2025-02-10 21:32:52 +08:00
31ddf3a6d2 notification helpers 2025-02-10 21:30:36 +08:00
47827282a9 free-space misc 2025-02-10 21:30:24 +08:00
3 changed files with 95 additions and 18 deletions

63
helpers/notif.sh Normal file
View File

@@ -0,0 +1,63 @@
#!/usr/bin/env bash
########################################################
# Notifications
########################################################
TITLE="$0"
NTFY_CHANNEL="example"
# отправляет простую нотификацию
ntfy_info() {
require ntfy
ntfy send \
--title "$TITLE" \
--message "$1" \
--priority 1 \
"$NTFY_CHANNEL"
}
# отправляет нотификацию с предупреждением
ntfy_warn() {
require ntfy
ntfy send \
--title "$TITLE" \
--tags "warning" \
--message "$1" \
--priority 5 \
"$NTFY_CHANNEL"
}
notify () {
if ! installed "notify-send"; then
warning "Notifications toggled on, but 'notify-send' is not installed!"
return 1
fi
[ -n "$1" ] && local title="$1"
local text="$2"
local level="$3"
local icon="$4"
case "$level" in
critical) local timeout=0 ;;
low) local timeout=5000 ;;
*) local timeout=10000 ;;
esac
debug "$title / $text / $level / $icon / $timeout"
notify-send "$title" "$text" -a "$0" -u "$level" -i "$icon" -t $timeout
}
# TODO: docblock
notify_error() {
notify "Error" "$1" "critical" "dialog-error"
}
# TODO: docblock
notify_warning() {
notify "Warning" "$1" "normal" "dialog-warning"
}
# TODO: docblock
notify_info() {
notify "" "$1" "low" "dialog-information"
}

6
install/clamav Executable file
View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
##makedesc: ClamAV (WIP)
sudo apt install clamav -y && \
echo "DatabaseMirror packages.microsoft.com/clamav" | sudo tee -a /etc/clamav/freshclam.conf && \
sudo freshclam

View File

@@ -3,18 +3,23 @@
# https://gist.github.com/anthonyaxenov/02c00c965be4eb5bb163a153abdf4c2b
# https://itsfoss.com/free-up-space-ubuntu-linux/
df -h
echo ""
echo
echo
df -hx tmpfs
echo
echo
echo "[1/5] Removing apt caches and unused packages"
echo ""
echo
sudo apt autoremove --purge
sudo apt autoclean
sudo apt clean
echo ""
echo
echo "[2/5] Removing old system logs"
echo ""
echo
sudo journalctl --vacuum-time=1d
sudo rm -rf /var/log/journal/user-*@*
@@ -22,33 +27,36 @@ sudo rm -rf /var/log/journal/system*@*
sudo rm /var/log/{syslog,dmesg,btmp}.*
sudo rm /var/log/{auth,dpkg,kern,alternatives,dmesg}.log.*
echo ""
echo
echo "[3/5] Cleaning user trash and thumbnails"
echo ""
echo
rm -rf ~/.local/share/Trash/files/*
rm -rf ~/.cache/thumbnails/*
echo ""
echo
echo "[4/5] Cleaning out dangling docker objects"
echo ""
echo
docker system prune -f
# docker system prune -af
echo ""
echo
echo "[5/5] Removing disabled unused snaps"
echo ""
echo
sudo snap list --all | awk '/disabled/{print $1, $3}' |
while read snapname revision; do
sudo snap remove "$snapname" --revision="$revision"
done
sudo snap list --all \
| awk '/disabled/{print $1, $3}' \
| while read snapname revision; do
sudo snap remove "$snapname" --revision="$revision"
done
echo ""
echo ""
df -h
echo
echo
df -hx tmpfs
echo
echo