카테고리 보관물: bash

ovirt-shell vm add permission script

조잡하게나마 짜봤다.

ovirt 에서 window7 vm을 수백개 만들어서 일일히 permission을 다 마우스로 줘야 하는 노가다를 해야할때가 있는데 … 해보니까 정말 사람 할짓이 아니더라.

그래서 스크립트 짜봄 ㅇㅇ

  • 주의 user list와 vm list 가 있어야 함.

$ cat add-permissions

#!/bin/bash

cd ~

DOMAIN=”test.dom”

### domain 명을 넣어준다. ###

 
USERS=”/root/script/users”

### user 명들 list 가 적힌 text파일 위치 ###

 
VMS=”/root/script/vms”

### vm들 이름이 적힌 text 파일 위치 ###

 

paste $USERS $VMS |awk ‘{print $1″:”$2}’ > ~/script/test3

### vms 랑 users랑 한데 묶는다. ###

 
TEST=”/root/script/test3″

for ID in $(cat $TEST)
do

USER=`echo $ID |awk -F: ‘{print $1}’`
echo $USER

USERID=`ovirt-shell -E “list users –kwargs principal=$USER” |grep -i id |awk ‘{print $3}’`

### user id 뽑아내기 ###

 
VMID=`echo $ID |awk -F: ‘{print $2}’`

### vm id 뽑아내기 ###

 

ovirt-shell -E “add permissions –role-name UserRole –user-id $USERID –parent-vm-name $VMID”

### permission 넣기 ###

 

done

 

byobu 기본 사용법

byobu의 기본 사용법을 보자.

byobu (屏風)… 일본어로 병풍이란 뜻인데 왜 저렇게 이름지었나 궁금해서 좀 찾아봤다.

일본사람이 개발한 줄 알았는데 아니네;

Dustin Kirkland

https://www.linkedin.com/in/dustinkirkland

역시나 후덜덜한 사람이네;

2000년도 부터 ubuntu Maintainer, Devaloper, Contributor … 라고 나온다.

암턴 엄청 실력좋은 미국 양반이 만들었다.

byobu는 백엔드로 screen이랑 tmux 가 돌아가고 있는데

그냥 별짓안하고 “$ byobu” 라고 치면 tmux 가 백엔드로 작동한다.

궂이 screen을 백엔드로 쓰고 싶으면 byobu-screen 이라고 하면된다. (써봣는데 별로임ㅋ )

screen을 백엔드로 쓰게되면 기능들이 많이 줄어드는데 … 암턴 별로니까 그냥 디폴트로 쓰는거 추천 ㅋ

뭐든 man page 보는게 제일 좋지만…. F9 눌러서 help page 를 봐도 크게 다르지 않으니까 오늘은 이걸 보고 쓰겠다.

$ byobu 를 치고 F9 키를 누르면 help page가 나온다.

선택 영역_051

첫번째 quick start guide

두번재 맨줄에 나오는 status 설정 하는것

세번째 escape sequence 라는데 뭔진 모르겟다.

네번째 이걸 키게 되면 다음 로그인 시 자동으로 byobu를 런치한다는데… 별차이를 모르겠다.

일단 오늘 볼건 첫번재 quick start guide 이다.

F1                             * Used by X11 *
### 일반 help 메뉴 ###
Shift-F1                     Display this help
### 현재 보고 있는 이 help 메뉴를 본다. ###

F2                             Create a new window
### 새창 만들기 ###

Shift-F2                     Create a horizontal split
### 현재 창 가로로 잘라서 2개로 만든다. ###

Ctrl-F2                      Create a vertical split
### 현재 창 세로로 잘라서 2개로 만든다.

Ctrl-Shift-F2                Create a new session
### 새로운 세션을 만든다. ###

byobu 맨 아래 마지막 줄이 상태 창인데 거기 왼쪽에 세션창이 보인다. 이 창은 세션을 만들고 F6으로 닫은다음 다시 들어와야 제대로 보인다.

youngju.lee@youngju.lee (192.168.171.7) - byobu_001
왼쪽 작은 네모가 세션상태이고 오른쪽이 창 상태이다.  현재 4번 세션에 창은 1개 열려 있다. Shift-F8 로 세션 이름변경이 가능함.

F3/F4                          Move focus among windows
### 창이 2개 이상일 시 창 간 이동. 개인적으로 Alt-Left/Right 이게 더 편하다. ###

Alt-Left/Right               Move focus among windows
### 창간 이동 ###

Alt-Up/Down                  Move focus among sessions
### 세션간 이동 ###

Shift-Left/Right/Up/Down     Move focus among splits
### Shift-F3/F4 와 동일 분할 간 이동 ###

Shift-F3/F4                  Move focus among splits
### 터미널이 2개 이상 분할 일 시 서로간에 이동이 가능하다. 개인적으로 Shift-Left/Right/Up/Down 이게 더 편하다. ###

Ctrl-F3/F4                   Move a split
### 분할이 여러개 일 때 분할의 위치를 바꿀 수 있다. ###
예를 들면 이렇게.
youngju.lee@youngju.lee (192.168.171.7) - byobu_002

youngju.lee@youngju.lee (192.168.171.7) - byobu_003

Ctrl-Shift-F3/F4             Move a window
### 맨아래 창의 순서를 바꿀 수 있다. ###

Shift-Alt-Left/Right/Up/Down Resize a split
### 분할의 사이즈를 바꿀 수 있다. ###

F5                             Reload profile, refresh status
### profile reload … 아래 상태창을 refresh 시킨다. ###

Alt-F5                       Toggle UTF-8 support, refresh status
### UTF-8 서포트라고 나와 있는데 … 뭘 어떻게 서포트 하는진 잘 모르겟다… refresh status 도 안먹힘. ###

Shift-F5                     Toggle through status lines
### 맨 아래 status 창의 갯수가 바뀐다. 이게 뭘 기준으로 바뀌는진 잘 모르겠다. ###

Ctrl-F5                      Reconnect ssh/gpg/dbus sockets
### source /usr/bin/byobu-reconnect-sockets 를 하는데 뭘 위해서 하는지는 아직 모르겠다. ###

Ctrl-Shift-F5                Change status bar’s color randomly
### 맨 아래 상태창의 색상을 랜덤하게 바꿀 수 있다. ###

F6                             Detach session and then logout
### 세션 끊기. 다시 들어가면 그대로 다 남아 있음. ###

Shift-F6                     Detach session and do not logout
### F6 하고 같은데 logout 을 안한단다. 뭔 차인지는 모르겟음; ###

Alt-F6                       Detach all clients but yourself
### 모든 client를 끊는다는데 뭐 아무일도 안일어남… man page를 봐도 아무것도 안나와 있다. 아직 구현 안된건가..? ###

Ctrl-F6                      Kill split in focus
### 현재 분할을 없앤다. ###

F7                             Enter scrollback history
### 현재 분할에서 실행한 모든 history를 본다. 이거 되게 유용함. 뭐 까먹어서 다시 실행 할 필요없이 F7 눌러서 찾으면 된다. /는 정순 검색 ?는 역순 검색이다. ###

Alt-PageUp/PageDown          Enter and move through scrollback
### 이거 F7이랑 비슷함. F7에서 스크롤을 위로 올릴 수 있다. 내 컴만 그런지 모르겠는데 스크롤이 위로만 가고 아래로는 안감; ###

Shift-F7                     Save history to $BYOBU_RUN_DIR/printscreen
### 현재 분할의 history를 저장 할 수 있다. 일반 vim 과 같다. “:w byobu_backup” 이렇게 하면 현재디렉토리에 byobu_backup 이라는 파일로 history 가 저장된다. 로그 남길때 특히 유용함 ㅋ ###

F8                             Rename the current window
### 창의 이름을 다시 지을 수 있다. ###

Ctrl-F8                      Rename the current session
### 세션의 이름을 다시 지을 수 있다. ###

Shift-F8                     Toggle through split arrangements
### 분할을 자동적으로 재정립 시켜준다. 뭔가 창만들긴 귀찮고 분할만 새로 바꾸고 싶을 때 좋다. 그리고 분할을 같은크기로 맞추고 싶을 때 좋음.

Alt-Shift-F8                 Restore a split-pane layout
### 분할의 layout 을 복구 한다. 저장하는 방법은 다음에 나옴. ###

Ctrl-Shift-F8                Save the current split-pane layout
### 현재 분할 layout을 저장 한다. ###

F9                             Launch byobu-config window
### byobu 설정 창을 연다. quick start guide도 나옴. ###

Ctrl-F9                      Enter command and run in all windows
### 현재 열려 있는 모든 창에 동일한 명령어를 입력 한다. ###

Alt-F11                      Expand split to a full window
### 현재 분할을 새로운 창을 만들어서 떼어 낸다. ###

Shift-F11                    Zoom into a split, zoom out of a split
### 현재 분할을 줌인 줌아웃 시킨다. ###

Ctrl-F11                     Join window into a vertical split
### 현재 분할을 다른 창으로 옮긴다. ###

F12                            Escape sequence
### escape sequence … 아무일도 안일어남 뭔가 설정 해 넣을 수 있을 것 같다. ###

Shift-F12                    Toggle on/off Byobu’s keybindings
### byobu key binding 을 키고 끈다. 정확히 뭘 끄는지 모르겟다… 이거 꺼도 F2나 이런 key binding 은 잘 작동 한다. 뭔가 겹치는 키바인딩을 키고 끈다는 것 같다. ###

Alt-F12                      Toggle on/off Byobu’s mouse support
### 분할에서 마우스로 드레그 할 때 다른 분할에 영향을 끼치지 않게 해준다. ###
다음과 같은 예가 있다.

일반 복사 했을때… youngju.lee@youngju.lee (192.168.171.7) - byobu_004

 

Alt-F12 활성화 후 복사 했을 때… youngju.lee@youngju.lee (192.168.171.7) - byobu_005
왼쪽 분할에 이상한 특수문자 같은건 신경쓰지 말자 자동으로 없어진다.

Ctrl-Shift-F12               Mondrian squares
### 랜덤하게 창이 분할 되면서 색칠 되어 진다. 그냥 유희용… ###

 

 

Top 명령어 사용법

Top 명령어 사용법에 대해 알아보자

보통 그냥 top 쳐서 나오는거 보고 마는데.. top 명령어는 상당히 좋은 리소스 모니터링 툴이다.

먼저 terminal 에서 top을 실행한다.

$ top

youngju.lee@youngju.lee (192.168.171.7) - byobu_008아무것도 설정하지 않은 기본 화면이다.

여기서 ‘h’ 를 눌러보면 대략적인 사용방법이 나온다. 각 파라메터에 대한 내용은 man page나 다른곳에 많이 나와잇으니 생략하고, 여긴 내 일기장이니까 내가 쓰는방식에 대한 것들만 적는다.

맨아래 f 22 뭐 색색깔로 나와잇는건 byobu를 실행 시켜서 그런것이다. top과는 무관함.

youngju.lee@youngju.lee (192.168.171.7) - byobu_017이런 간략한 단축키 사용법이 나온다.

꼭 한번씩 들 써보고 나중에 까먹었을때 빠르게 보기 위한 용도로 쓰면 좋다.

한줄 한줄 알아보면…

Z,B,E,e Global: ‘Z’ colors; ‘B’ bold; ‘E’/’e’ summary/task memory scale

Z (대문자) 는 각 창마다 색깔을 입힐 수 있다. 이렇게.

창을 나누는 방법은 ‘A’ 이다. ‘a’ 로 각 창을 왓다갓다 할 수 있다.

‘e’ 는 아래 창에서 보이는 VIRT, RES, SHR 에 보이는 memory 의 단위를 바꿀 수 있다. 단위는 키로, 메가, 기가, 테라, 페타 (바이트 생략)

‘E’ 는 맨위의 KiB Mem , KiB Swap 의 메모리 단위를 바꿀 수 있다. 단위는 위와 같음

l,t,m Toggle Summary: ‘l’ load avg; ‘t’ task/cpu stats; ‘m’ memory info

youngju.lee@youngju.lee (192.168.171.7) - byobu_013

‘l, m, t ‘ 는 토글키이다. 키고 끌 수 있음.

‘l’ 은 맨위에 load average를 나타내준다.

‘t’ cpu 사용량을 그래프처럼 보이게 해준다

‘m’ 은 메모리 사용량을 그래프 처럼 보이게 해준다

0,1,2,3,I Toggle: ‘0’ zeros; ‘1/2/3’ cpus or numa node views; ‘I’ Irix mode

youngju.lee@youngju.lee (192.168.171.7) - byobu_015‘ 1, 2, 3’ cpu 마다 얼마나 일을 하고 있는지 볼 수 있다.

‘I’ irix mode ‘on, off’ 인데 irix 자세히는 모르겟지만 과거 irix 라는 os (system V 계열의 unix variant ) 의 호환 모드 인것 같다.

f,F,X Fields: ‘f’/’F’ add/remove/order/sort; ‘X’ increase fixed-width

youngju.lee@youngju.lee (192.168.171.7) - byobu_016

‘f, F’ 는 각 필드들을 추가 제거 할 수 있다.

‘X’ 는 각 필드들의 넓이를 바꿀 수 있다.

L,&,<,> . Locate: ‘L’/’&’ find/again; Move sort column: ‘<‘/’>’ left/right

youngju.lee@youngju.lee (192.168.171.7) - byobu_018

‘L’ 키워드 검색 가능 함.

‘&’ 검색한 키워드를 다시 찾음.

‘<, >’ 각 필드 별로 sort 할 수 있다. 이게 하이라이트를 꺼두면 좀 알아보기가 힘든데 ‘B(bold), x(필드 하이라이트), y(task 하이라이트)’ 를 이용해서 잘 보이게 해서 이용하면 좋다.

 

R,H,V,J . Toggle: ‘R’ Sort; ‘H’ Threads; ‘V’ Forest view; ‘J’ Num justify

youngju.lee@youngju.lee (192.168.171.7) - byobu_020

‘R’ 은 거꾸로 sort 할 수 있다.

‘H’ task thread 수를 볼 수 있다. Task process 를 뜻하는 것 같고 threadprocess안에 있는 전체 thread 수 까지 나타내는 것 같다.

‘V’ command 를 계단식으로 볼 수 있다. 어느것이 부모인지 어느 프로세스에 속하는 thread 인지 확인 가능하다.

‘J’ 는 각 필드를 왼쪽 또는 오른쪽 정렬 할 수 있다.

c,i,S,j . Toggle: ‘c’ Cmd name/line; ‘i’ Idle; ‘S’ Time; ‘j’ Str justify

youngju.lee@youngju.lee (192.168.171.7) - byobu_021

‘c’ command 를 경로까지 보여준다.

‘I’ idle task는 보여주지 않는다.

‘S’ 누적모드 ‘on, off’ 이다. (어떨때 쓰는지 잘 모르겟음😉

‘j’ 필드 아래 글씨들을 왼쪽 및 오른쪽 정렬 한다.

x,y . Toggle highlights: ‘x’ sort field; ‘y’ running tasks

youngju.lee@youngju.lee (192.168.171.7) - byobu_022

‘x’ 필드 별로 하이라이트 시켜준다. ‘B’ 안쓰면 잘 안보임.

‘y’ task 별로 러닝되고 있는 task만 하이라이트 시켜 준다.

 

z,b . Toggle: ‘z’ color/mono; ‘b’ bold/reverse (only if ‘x’ or ‘y’)

youngju.lee@youngju.lee (192.168.171.7) - byobu_023

‘z’ 색깔을 입힐 수 있다. ‘Z’ 는 색을 고를 수 있음.

‘b’ bold 하거나 되돌릴 수 있음.

 

u,U,o,O . Filter by: ‘u’/’U’ effective/any user; ‘o’/’O’ other criteria

youngju.lee@youngju.lee (192.168.171.7) - byobu_024

‘u, U’ 사용자 검색하여 sort

‘o, O’ 다른 기준으로 검색 한다고 하는데 사용법을 잘 모르겟다.

n,#,^O . Set: ‘n’/’#’ max tasks displayed; Show: Ctrl+’O’ other filter(s)

youngju.lee@youngju.lee (192.168.171.7) - byobu_025

‘n, #’ 모니터링 할 task 갯수를 지정 할 수 있다.

‘^O’ ctl + ‘O’ 이것도 위에서 본 other filter와 비슷한 것인데 어떻게 쓰는지는 모름.

C,… . Toggle scroll coordinates msg for: up,down,left,right,home,end

youngju.lee@youngju.lee (192.168.171.7) - byobu_026

‘C’ 지금 커서가 어디에 있는지 알려준다. 상하좌우 키로 필드 및 task 에 포커스를 맞 출 수 있다.

k,r Manipulate tasks: ‘k’ kill; ‘r’ renice

youngju.lee@youngju.lee (192.168.171.7) - byobu_027

‘k’ process를 죽인다.

‘r’ process nice (우선 순위) 를 바꾼다.

d or s Set update interval

youngju.lee@youngju.lee (192.168.171.7) - byobu_028

‘d, s’ 화면을 몇초에 한번씩 갱신 시켜 주는지 정할 수 있다.

W,Y Write configuration file ‘W’; Inspect other output ‘Y’

youngju.lee@youngju.lee (192.168.171.7) - byobu_029

W’ 현재 설정을 저장할 수 있다.

‘Y’ 지정 한 PID process를 검사 할 수 있다 라고 나오는데 몇가지 설정을 더 해줘야 한다고 나온다. 하지만 귀찮아서 안함. ㅋ 나중에 써봐야 겠다.

이상으로 top help page를 알아 보았다.

Man page에 훨씬 많은 정보가 있으므로 더 알고 싶으신 분들은 man page를 보는게 더 좋다. 하지만 시간의 압박이..