ユーザ用ツール

サイト用ツール


サイドバー



最近の更新



Tag Cloud

タグ数量
9
10
1
3
1
2
17
7
1
1
4
13
4
1
2
309
1
9
2
7
21
5
1
31
3
3
1
6
1
1
46
1
3
3
1
1
1
1
1
1
33
46
7
9
10
8
10
3
21
2
9
2
2
6
9
1
1
6
12
4
3
3
2
1
8
2
4
1
6
30
2
12
5
3
1
1
2
3
2
1
3
4
3
3
4
2
2
1
1
2
1
2
1
2
1
27
2
1
3
2
2
1
1
2
3
17
5
9
1
1
2
16
2
6
1
2
12
1
3
1
1
4
11
1
6
4
2
7
1
3
3
13
1
4
1
1
10
3
1
17
3
1
5
1
2
1
1
2
9
2
2
3
2
1
3
1
3
1
2
2
2
1
2
6
1
4
3
5
1
3
1
3
3
2
1
1
30
1
3
3
1
1
1
5
5
1
36
2
4
2
1
2
2
3
1
1
1
4
1
2
1
3
1
1
1
2
5
2
5
2
1
1
1
5
3
2
4
4
1
2
2
25
1
1
3
4
1
1
2
1
1
2
1
1
1
1
2
1
1
1
1
1
19
7
1
5
1
1
3
1
2
1
1
2
1
1
1
1
1
1
2
1
1
2
1
1
1
1
1
1
1
4
2
1
1
2
2
2
1
1
2
1
1
12
1
1
1
1
1
1
1
1
1
1
1
1
1
01_linux:99_その他:29_screen_command

29 screenに外からコマンド

複数のscreenを用意しておいて、マルチスレッドで動かす


ZONE="A"
THREAD=10

declare -A ZONES=(
        ["A"]="192.168.10.11"
        ["B"]="192.168.11.11"
        ["C"]="192.168.12.11"
)


i=1;
while [ $i -le $THREAD ]
do
  N=`printf "%02d" "${i}"`
  SCREEN_NAME=${ZONE}-${N}
  LOG="${LOGDIR}/${ZONE}_${N}.log"
  touch $LOG

  i=`expr $i + 1`
  if [ -n "`screen -ls | grep ${SCREEN_NAME}`" ]; then
    echo "already have session_name. ${SCREEN_NAME}"
    continue 2
  fi 
  screen -R ${SCREEN_NAME}
  sleep 1
  screen -d ${SCREEN_NAME}

  screen -S ${SCREEN_NAME} -X logfile "${LOG}"
  sleep 1

  screen -S ${SCREEN_NAME} -X log on
  sleep 1

  if [ "$ZONE" == "main" ];then
    i=`expr $THREAD + 1`
  else
    screen -S ${SCREEN_NAME} -X stuff "ssh root@${ZONES[${ZONE}]}
    "
    sleep 1

    screen -S ${SCREEN_NAME} -X stuff "python3.6
    "
    sleep 1
  fi
01_linux/99_その他/29_screen_command.txt · 最終更新: 2020/07/03 16:11 by matsui

Yesterday:894 Today:012 Total:237519