Support Docker
This commit is contained in:
100
cleanup.sh
100
cleanup.sh
@@ -18,18 +18,19 @@ cleanup() {
|
|||||||
#reset="\033[0m"
|
#reset="\033[0m"
|
||||||
|
|
||||||
opt_cache=true
|
opt_cache=true
|
||||||
opt_log=true
|
opt_log=false
|
||||||
opt_adobe=true
|
opt_adobe=false
|
||||||
opt_chrome=false #
|
opt_chrome=false #
|
||||||
opt_ios_app=true
|
opt_ios_app=false
|
||||||
opt_ios_device=true
|
opt_ios_device=false
|
||||||
opt_xcode=true
|
opt_xcode=false
|
||||||
opt_xcrun=true
|
opt_xcrun=true
|
||||||
opt_brew=false
|
opt_brew=false
|
||||||
opt_gem=false # ok
|
opt_gem=false # ok
|
||||||
opt_npm=false # ok
|
opt_npm=false # ok
|
||||||
|
opt_docker=true
|
||||||
opt_go=false # ok
|
opt_go=false # ok
|
||||||
opt_teams=true
|
opt_teams=false
|
||||||
opt_dns=true
|
opt_dns=true
|
||||||
opt_memory=true
|
opt_memory=true
|
||||||
opt_periodic=true
|
opt_periodic=true
|
||||||
@@ -224,6 +225,7 @@ echo -e "${RED}System cache: $count_section${NOFORMAT}"
|
|||||||
else
|
else
|
||||||
msg "${BLUE}\nApprox $(bytesToHuman $count_section) of space will be cleaned up${NOFORMAT}\n"
|
msg "${BLUE}\nApprox $(bytesToHuman $count_section) of space will be cleaned up${NOFORMAT}\n"
|
||||||
unset path_list
|
unset path_list
|
||||||
|
totalFree="$((totalFree+count_section))"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "totalFree $totalFree"
|
echo "totalFree $totalFree"
|
||||||
@@ -253,6 +255,7 @@ echo -e "${RED}System log: $count_section${NOFORMAT}"
|
|||||||
else
|
else
|
||||||
msg "${BLUE}\nApprox $(bytesToHuman $count_section) of space will be cleaned up${NOFORMAT}\n"
|
msg "${BLUE}\nApprox $(bytesToHuman $count_section) of space will be cleaned up${NOFORMAT}\n"
|
||||||
unset path_list
|
unset path_list
|
||||||
|
totalFree="$((totalFree+count_section))"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "totalFree $totalFree"
|
echo "totalFree $totalFree"
|
||||||
@@ -274,6 +277,7 @@ echo -e "${RED}Adobe: $count_section${NOFORMAT}"
|
|||||||
else
|
else
|
||||||
msg "${BLUE}\nApprox $(bytesToHuman $count_section) of space will be cleaned up${NOFORMAT}\n"
|
msg "${BLUE}\nApprox $(bytesToHuman $count_section) of space will be cleaned up${NOFORMAT}\n"
|
||||||
unset path_list
|
unset path_list
|
||||||
|
totalFree="$((totalFree+count_section))"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -297,6 +301,7 @@ echo -e "${RED}Chrome: $count_section${NOFORMAT}"
|
|||||||
else
|
else
|
||||||
msg "${BLUE}\nApprox $(bytesToHuman $count_section) of space will be cleaned up${NOFORMAT}\n"
|
msg "${BLUE}\nApprox $(bytesToHuman $count_section) of space will be cleaned up${NOFORMAT}\n"
|
||||||
unset path_list
|
unset path_list
|
||||||
|
totalFree="$((totalFree+count_section))"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -318,6 +323,7 @@ echo -e "${RED}iOS app: $count_section${NOFORMAT}"
|
|||||||
else
|
else
|
||||||
msg "${BLUE}\nApprox $(bytesToHuman $count_section) of space will be cleaned up${NOFORMAT}\n"
|
msg "${BLUE}\nApprox $(bytesToHuman $count_section) of space will be cleaned up${NOFORMAT}\n"
|
||||||
unset path_list
|
unset path_list
|
||||||
|
totalFree="$((totalFree+count_section))"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -341,6 +347,7 @@ echo -e "${RED}iOS device: $count_section${NOFORMAT}"
|
|||||||
else
|
else
|
||||||
msg "${BLUE}\nApprox $(bytesToHuman $count_section) of space will be cleaned up${NOFORMAT}\n"
|
msg "${BLUE}\nApprox $(bytesToHuman $count_section) of space will be cleaned up${NOFORMAT}\n"
|
||||||
unset path_list
|
unset path_list
|
||||||
|
totalFree="$((totalFree+count_section))"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "totalFree $totalFree"
|
echo "totalFree $totalFree"
|
||||||
@@ -367,6 +374,7 @@ echo -e "${RED}xcode: $count_section${NOFORMAT}"
|
|||||||
else
|
else
|
||||||
msg "${BLUE}\nApprox $(bytesToHuman $count_section) of space will be cleaned up${NOFORMAT}\n"
|
msg "${BLUE}\nApprox $(bytesToHuman $count_section) of space will be cleaned up${NOFORMAT}\n"
|
||||||
unset path_list
|
unset path_list
|
||||||
|
totalFree="$((totalFree+count_section))"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -402,10 +410,13 @@ if [[ $opt_xcrun = true ]]; then
|
|||||||
collect_paths /Users/wah/Library/Developer/CoreSimulator/Devices/*/data/Library/!(PreferencesCaches|Caches|AddressBook)
|
collect_paths /Users/wah/Library/Developer/CoreSimulator/Devices/*/data/Library/!(PreferencesCaches|Caches|AddressBook)
|
||||||
collect_paths ~/Library/Developer/CoreSimulator/Devices/*/data/Library/Caches/*
|
collect_paths ~/Library/Developer/CoreSimulator/Devices/*/data/Library/Caches/*
|
||||||
collect_paths ~/Library/Developer/CoreSimulator/Devices/*/data/Library/AddressBook/AddressBook*
|
collect_paths ~/Library/Developer/CoreSimulator/Devices/*/data/Library/AddressBook/AddressBook*
|
||||||
echo ${path_list[@]}
|
|
||||||
count_section=$(count_dry)
|
count_section=$(count_dry)
|
||||||
|
[ -z $count_section ] && count_section=0
|
||||||
|
|
||||||
echo -e "${RED}xcrcun: $count_section${NOFORMAT}"
|
echo -e "${RED}xcrcun: $count_section${NOFORMAT}"
|
||||||
unset path_list
|
unset path_list
|
||||||
|
totalFree="$((totalFree+count_section))"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -451,6 +462,8 @@ if [[ $opt_brew = true ]]; then
|
|||||||
|
|
||||||
brew autoremove --dry-run
|
brew autoremove --dry-run
|
||||||
|
|
||||||
|
# totalFree="$((totalFree+count_section))" # free
|
||||||
|
|
||||||
fi
|
fi
|
||||||
unset path_list
|
unset path_list
|
||||||
fi
|
fi
|
||||||
@@ -518,7 +531,68 @@ echo -e "${RED}TOTAL: $totalFree${NOFORMAT}"
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Docker
|
|
||||||
|
### Docker ###
|
||||||
|
|
||||||
|
#docker system prune:
|
||||||
|
# remove:
|
||||||
|
# - all stopped containers
|
||||||
|
# - all networks not used by at least one container
|
||||||
|
# - all dangling images
|
||||||
|
# - all dangling build cache
|
||||||
|
#
|
||||||
|
# -a Remove
|
||||||
|
# - all stopped containers
|
||||||
|
# - all networks not used by at least one container
|
||||||
|
# - all images without at least one container associated to them
|
||||||
|
# - all build cache
|
||||||
|
# -f Do not prompt for confirmation
|
||||||
|
|
||||||
|
|
||||||
|
#docker volume prune:
|
||||||
|
# remove anonymous local volumes not used by at least one container.
|
||||||
|
# -a remove all local volumes not used by at least one container.
|
||||||
|
# -f Do not prompt for confirmation
|
||||||
|
|
||||||
|
# docker container prune
|
||||||
|
# remove all stopped containers.
|
||||||
|
# -f Do not prompt for confirmation
|
||||||
|
|
||||||
|
# ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw => 60Go
|
||||||
|
|
||||||
|
# https://docs.docker.com/desktop/faqs/macfaqs/
|
||||||
|
|
||||||
|
if [[ $opt_docker = true ]]; then
|
||||||
|
|
||||||
|
if type "docker" &>/dev/null; then
|
||||||
|
msg "\n${BOLD}Cleaning Docker...${NOFORMAT}"
|
||||||
|
|
||||||
|
vm_size=$(($(/usr/bin/stat -f%z ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw) / 1000)) # 1000->38.14 GiB; 1024->37.25 GiB
|
||||||
|
# 40 000 028 672 octets (2,53 Go sur disque)
|
||||||
|
|
||||||
|
msg "\nOn macOS, Docker Desktop stores Linux containers and images in a single, large disk image file in the Mac filesystem (located à ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw)(size=$(bytesToHuman $vm_size))."
|
||||||
|
msg "\nhttps://docs.docker.com/desktop/faqs/macfaqs/"
|
||||||
|
msg "\n${RED}Delete ou prune some images and container will free up space on this large disk image, not on the Mac filesystem.${NOFORMAT}"
|
||||||
|
|
||||||
|
if [ -z "$dry_run" ]; then
|
||||||
|
if ! docker ps >/dev/null 2>&1; then
|
||||||
|
close_docker=true
|
||||||
|
echo "Docker closed"
|
||||||
|
open --background -a Docker
|
||||||
|
fi
|
||||||
|
msg '\nCleaning up Docker'
|
||||||
|
echo -e "Running ${ITALIC}docker system prune -af${NOFORMAT}"
|
||||||
|
docker_prune=$(docker system prune -af) # &>/dev/null
|
||||||
|
docker_free=$(echo "$docker_prune" | grep 'Total reclaimed space' | awk -F"=" '{print $2}' | xargs)
|
||||||
|
msg "${BLUE}\nApprox $docker_free of space has been cleaned up${NOFORMAT}."
|
||||||
|
|
||||||
|
if [ "$close_docker" = true ]; then
|
||||||
|
killall Docker
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Pyenv
|
# Pyenv
|
||||||
|
|
||||||
@@ -638,9 +712,10 @@ echo -e "${RED}teams: $count_section${NOFORMAT}"
|
|||||||
else
|
else
|
||||||
msg "${BLUE}\nApprox $(bytesToHuman $count_section) of space will be cleaned up${NOFORMAT}"
|
msg "${BLUE}\nApprox $(bytesToHuman $count_section) of space will be cleaned up${NOFORMAT}"
|
||||||
unset path_list
|
unset path_list
|
||||||
|
totalFree="$((totalFree+count_section))"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
totalFree="$((totalFree+count_section))"
|
|
||||||
echo -e "${RED}TOTAL: $totalFree${NOFORMAT}"
|
echo -e "${RED}TOTAL: $totalFree${NOFORMAT}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -681,7 +756,10 @@ fi
|
|||||||
# End
|
# End
|
||||||
|
|
||||||
msg "${GREEN}\nSuccess!${NOFORMAT}"
|
msg "${GREEN}\nSuccess!${NOFORMAT}"
|
||||||
msg "${BLUE}\nApprox $(bytesToHuman $totalFree) of space has been cleaned up${NOFORMAT}"
|
if [ -z "$dry_run" ]; then
|
||||||
|
msg "${BLUE}\nApprox $(bytesToHuman $totalFree) of space has been cleaned up${NOFORMAT}"
|
||||||
|
else
|
||||||
|
msg "${BLUE}\nApprox $(bytesToHuman $totalFree) of space will be cleaned up${NOFORMAT}"
|
||||||
|
fi
|
||||||
newAvailable=$(df / | tail -1 | awk '{print $4}')
|
newAvailable=$(df / | tail -1 | awk '{print $4}')
|
||||||
msg "${BLUE}$(bytesToHuman $newAvailable) available on /${NOFORMAT}"
|
msg "${BLUE}$(bytesToHuman $newAvailable) available on /${NOFORMAT}"
|
||||||
|
|||||||
Reference in New Issue
Block a user