docker程序在跑了一段時間之後,發現服務器的磁盤不夠了,分享一份shell腳本
#!/bin/bash
# 清理容器中運行的程序產生的日誌
baseDir=/var/lib/docker/containers
dir=$(ls -l $baseDir |awk '/^d/ {print $NF}')
for i in $dir
do
newDir=$baseDir/$i
for y in ${newDir}/*
do
if [[ $y =~ \.log$ ]];then
echo "" > $y
fi
done
done
sleep 5
# 清理爲退出狀態的容器
COMMAND_DOCKERRM="docker rm `docker ps -a | grep Exited | awk '{print $1}'`"
DOCKERRM=$($COMMAND_DOCKERRM)
echo $DOCKERRM
sleep 10
# 清理沒有在使用的鏡像
COMMAND_DOCKERRMI="docker rmi `docker images | awk '{print $3}'`"
DOCKERRMI=$($COMMAND_DOCKERRMI)
echo $DOCKERRMI
# 清理chrome瀏覽器
for i in `ps auxf | grep chrome |awk '{print $2}'`;do kill -9 $i;echo $i isok;done
# 清理chrome驅動
for i in `ps auxf | grep chromedriver |awk '{print $2}'`;do kill -9 $i;echo $i isok;done
# 清理殭屍進程
ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]' | awk '{print $2}' | xargs kill -9