powershell脚本清空linux服务器上面docker容器的日志


指定容器名, 则只删除该容器的日志. 不指定, 则删除所有容器日志.
remove-ctnlogs.ps1 mysql 删除名为mysql的容器日志
remove-ctnlogs.ps1 删除所有容器日志

#!/usr/bin/env pwsh
param
(
[string]$ctnName
)

if ($ctnName -ne $null) {
  $ctnStatsJsonStr = docker inspect $ctnName
  $ctnId = (ConvertFrom-JsonNewtonsoft $ctnStatsJsonStr).id
  $logFile = "/var/lib/docker/containers/${ctnId}/${ctnId}-json.log"
  if (sudo pwsh -c test-path $logFile) {
    sudo pwsh -c clear-content $logFile
  }

} else {
  $ctnIdArr = docker ps -aq --no-trunc
  foreach ($ctnId in $ctnIdArr) {
    $logFile = "/var/lib/docker/containers/${ctnId}/${ctnId}-json.log"
    if (sudo pwsh -c test-path $logFile) {
      sudo pwsh -c clear-content $logFile
    }
  }
}
本文链接: https://www.pstips.net/clear-docker-log-on-linux.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注