fix: small optimizations
This commit is contained in:
parent
9e53531da9
commit
c786785b9c
43
bin/dkprune
43
bin/dkprune
@ -1,8 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
#TODO: group flags into one command
|
|
||||||
# like -I == $i -a
|
|
||||||
|
|
||||||
function usage() {
|
function usage() {
|
||||||
cat << EOF
|
cat << EOF
|
||||||
Usage: $0 [-hcCviIna]
|
Usage: $0 [-hcCviIna]
|
||||||
@ -41,9 +38,9 @@ c=1
|
|||||||
C=2
|
C=2
|
||||||
v=4
|
v=4
|
||||||
i=8
|
i=8
|
||||||
I=16
|
# I=16
|
||||||
n=32
|
n=32
|
||||||
a="$((c + C + v + I + n))"
|
# a="$((c + C + v + I + n))"
|
||||||
|
|
||||||
CLEAN=0
|
CLEAN=0
|
||||||
while getopts hcCviIna o; do
|
while getopts hcCviIna o; do
|
||||||
@ -64,13 +61,15 @@ while getopts hcCviIna o; do
|
|||||||
CLEAN="$(add_opt "$CLEAN" "$i")"
|
CLEAN="$(add_opt "$CLEAN" "$i")"
|
||||||
;;
|
;;
|
||||||
I)
|
I)
|
||||||
CLEAN="$(add_opt "$CLEAN" "$I")"
|
CLEAN="$(add_opt "$CLEAN" "$i")"
|
||||||
|
IMG_OPT="-a"
|
||||||
;;
|
;;
|
||||||
n)
|
n)
|
||||||
CLEAN="$(add_opt "$CLEAN" "$n")"
|
CLEAN="$(add_opt "$CLEAN" "$n")"
|
||||||
;;
|
;;
|
||||||
a)
|
a)
|
||||||
CLEAN="$(add_opt "$CLEAN" "$c" "$C" "$v" "$I" "$n")"
|
CLEAN="$(add_opt "$CLEAN" "$c" "$C" "$v" "$i" "$n")"
|
||||||
|
IMG_OPT="-a"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
exit 1
|
exit 1
|
||||||
@ -83,42 +82,32 @@ if [ "$CLEAN" == 0 ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
VALUES=(
|
VALUES=(
|
||||||
"$a"
|
"$((c + i + v + n))"
|
||||||
"$((c + i + n))"
|
"$((c + i + n))"
|
||||||
"$((c + I + n))"
|
|
||||||
"$((c + v + n))"
|
|
||||||
"$c"
|
"$c"
|
||||||
"$v"
|
"$v"
|
||||||
"$i"
|
"$i"
|
||||||
"$I"
|
|
||||||
"$n"
|
"$n"
|
||||||
)
|
)
|
||||||
|
|
||||||
SYS="docker system"
|
CON="container"
|
||||||
CON="docker container"
|
|
||||||
VOL="docker volume"
|
|
||||||
IMG="docker image"
|
|
||||||
NET="docker network"
|
|
||||||
PRUNE="prune -f"
|
PRUNE="prune -f"
|
||||||
COMMANDS=(
|
COMMANDS=(
|
||||||
"$SYS $PRUNE -a --volumes"
|
"docker system $PRUNE $IMG_OPT --volumes"
|
||||||
"$SYS $PRUNE"
|
"docker system $PRUNE $IMG_OPT"
|
||||||
"$SYS $PRUNE -a"
|
"docker $CON $PRUNE"
|
||||||
"$SYS $PRUNE --volumes"
|
"docker volume $PRUNE"
|
||||||
"$CON $PRUNE"
|
"docker image $PRUNE $IMG_OPT"
|
||||||
"$VOL $PRUNE"
|
"docker network $PRUNE"
|
||||||
"$IMG $PRUNE"
|
|
||||||
"$IMG $PRUNE -a"
|
|
||||||
"$NET $PRUNE"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if [ "$((CLEAN & "$C"))" == "$C" ]; then
|
if [ "$((CLEAN & "$C"))" == "$C" ]; then
|
||||||
$CON ls -aq | xargs $CON stop
|
docker "$CON" ls -aq | xargs docker "$CON" stop 2> /dev/null
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
for idx in "${!VALUES[@]}"; do
|
for idx in "${!VALUES[@]}"; do
|
||||||
mask="${VALUES[$idx]}"
|
mask="${VALUES[$idx]}"
|
||||||
|
|
||||||
if [ "$((CLEAN & mask))" == "$mask" ]; then
|
if [ "$((CLEAN & mask))" == "$mask" ]; then
|
||||||
bash -c "${COMMANDS[$idx]}"
|
bash -c "${COMMANDS[$idx]}"
|
||||||
CLEAN="$((CLEAN - mask))"
|
CLEAN="$((CLEAN - mask))"
|
||||||
|
Loading…
Reference in New Issue
Block a user