echo "======== docker containers logs file size >1G ========"
logs=$(find /var/lib/docker/containers/ -name *-json.log -size +1G)
for log in $logs
do
ls -lh $log
done
echo "======== docker containers logs file size end ========"
在 /usr/local/sbin/下面创建一个文件名为:docker_logs_size.sh
设置可执行权限,执行在控制台运行:docker_logs_size.sh
没有找到大于1G的日志文件
下面为脚本的解释: 技术大牛略过..
这段脚本的目的是查找并列出 Docker 容器日志文件中大于 1GB 的文件。以下是逐步解释:
-
echo "======== docker containers logs file size >1G ========"
这行用于输出一条信息,用来表示即将显示大于 1GB 的 Docker 容器日志文件的列表。 -
*logs=$(find /var/lib/docker/containers/ -name -json.log -size +1G)
find /var/lib/docker/containers/
: 在/var/lib/docker/containers/
目录下查找文件。-name *-json.log
: 查找名称匹配*-json.log
的文件,这些通常是 Docker 容器的日志文件。-size +1G
: 查找大于 1GB 的文件。logs=$(...)
: 将查找到的文件路径存储在变量logs
中。
-
for log in $logs
这行开始一个循环,依次处理logs
变量中存储的每一个日志文件路径。 -
do
标志着循环体的开始。 -
ls -lh $log
ls -lh
: 列出文件的详细信息(包括文件大小),并以人类可读的格式显示(例如,以KB、MB、GB为单位)。$log
: 当前循环中正在处理的日志文件。
-
done
结束for
循环体。 -
echo "======== docker containers logs file size end ========"
输出一条信息,用来标记日志文件列表的结束。
总体来说,这段脚本用于查找 Docker 容器目录中大于 1GB 的日志文件,并以人类可读的格式列出其详细信息。