kc32668287 2022-09-20 10:07 采纳率: 28.8%
浏览 51
已结题

想记录重启的是哪个docker该怎么改脚本

想记录重启的是哪个docker该怎么改脚本

img

#!/bin/sh
set -x 
dir=/home/watch_log/
mkdir -p $dir
cd $dir

   if [ `docker ps -a |grep Exited |awk '{print $12}' |grep -v "nginx02" |grep -v "^$"  | grep -v grep -c` > 0 ]; then
    docker ps -a |grep Exited |awk '{print $12}'|grep -v "nginx02" |grep -v "^$"  |grep -v "CONTAINER"  | xargs -n 1 docker restart
   echo  "`date +%Y_%m_%d_%H%M`_restart_docker"  >>$dir/docker.log
   fi

这个脚本定时执行后,会检测nginx03、nginx04和nginx05是否挂了,如果挂了会自动重启,但如果想要记录重启的到底是nginx03还是nginx04,还是nginx05,脚本应该怎么改?实际环境可能有十多个docker ,应该怎么去记录重启的是哪个docker,谢谢

  • 写回答

4条回答

  • l1345411028 2022-09-20 11:33
    关注
    获得0.45元问题酬金

    docker restart命令执行之后,就会输出相应的容器名称。你可以直接在后面>>重定向到记录的文件里面。
    或者再用一层管道,先记录一下重启时的系统时间,再记录管道传过来的容器名。这样可以看到每个容器每次的重启时间了

    评论

报告相同问题?

问题事件

  • 系统已结题 9月28日
  • 创建了问题 9月20日