본문 바로가기

scripts

ssh을 이용한 공개키 만들기. 고민 : 개발실에서 빌드 후, 패치하고자 합니다. 문제는 서버가 100대가 넘어..ㄲㅣ악~* 수동으로 100대를 다다다다 다다다다다다다다 이런 xx같은 짓은 하면 안되죠. 그래서 자동화를 합니다. 자동화는 알아서 툭툭툭툭 쫘잔.. 만쇄!! 그러기 위해서는 어떻게 자동화를 하고 어떻게 해야 될지 고민을 해봐야합니다. 저는 말이죠! 일단 100대를 수동으로 했습니다. 그런데 끙끙끙 어 내가 어디까지 패치 했쥐? 어 망!!! ㅠ_ㅠ 시간은 쭈루룩 흐르고 등에서는 식은땀이 .... 어디선가 외치면서 물어보네요.. 어디까지 했어!(?) 아 눼... 열심히 하고 있어요..ㅠ_ㅠ 일일이 100대를 컨트롤 하기는 쉽지는 않죠.. 서론이 길었습니다. 이제 본격적으로 해결방안에 대해서 모색해보죠. 그럼 100대를 id/p.. 더보기
[ SHELL ] IF 조건 연산자. 7.3. 비교 연산자(이진) 정수 비교 -eq 같음 if [ "$a" -eq "$b" ] -ne 같지 않음 if [ "$a" -ne "$b" ] -gt 더 큼 if ["$a" -gt "$b" ] -ge 더 크거나 같음 if [ "$a" -ge "$b" ] -lt 더 작음 if [ "$a" -lt "$b" ] -le 더 작거나 같음 if [ "$a" -le "$b" ] = 더 크거나 같음(이중 소괄호에서) (("$a" >= "$b")) 문자열 비교 = 같음 if [ "$a" = "$b" ] == 같음 if [ "$a" == "$b" ] = 와 동의어입니다. [[ $a == z* ]] # $a 가 "z"로 시작하면 참(패턴 매칭) [[ $a == "z*" ]] # $a 가 z* 와 같다면 참 [ $a == .. 더보기
AUTOTOOLS 사용하기 AUTOTOOLS 사용하기 (실행파일 만들기) Makefile.am을 만든다 필요 내용들 다음 Makefile이 어디 있는지 알려준다. 즉 src/Makefile include/Makefile 을 부르는 역할을 한다. SUBDIRS= src include Include에 사용할 directory 명 나열 INCLUDES = -I$(srcdir)/include bin_PROGRAMS라고 한 뒤에 프로그램명을 나열 하면 compile하면서 실행파일들을 만들어낸다. bin_PROGRAMS = _SOURCES= \ MAIN.cpp _LDADD= $(top_srcdir)/depend/lib/libgame.a -lpthread _LDFLAGS= -L$(top_srcdir)/depend/lib/ autoscan au.. 더보기
프로세스 관리 스크립트 다음의 예제는 한 머신에서 같은 이름의 서비스를 올리는 경우 어떤 폴더에서 어떠한 프로세스가 떠 있는지 참 난해하다.. 만일 어떤 서버 내려 했는데 그 머신에 몇개의 프로세스가 떠 있는 경우 어떤걸 죽어야 하나 잘 못 죽이는 경우에는 백섭이 날 경우도 있으므로 #!/bin/sh YELLOW="\033[1;33m" BLUE="\033[1;34m" RED="\033[1;31m" GRAY="\033[1;30m" NOCOLOR="\033[0m" echo "Service(`hostname`) Start" PID=`cat .Service.pid` if [ -n "$PID" ] && [ "$PID" != "" ]; then CNT=`ps -p $PID | wc -l` if [ $CNT -gt 1 ]; then ech.. 더보기
Bash 문서 더보기
Crontab Environment Crontab Environment cron invokes the command from the user's HOME directory with the shell, (/usr/bin/sh). cron supplies a default environment for every shell, defining: HOME=user's-home-directory LOGNAME=user's-login-id PATH=/usr/bin:/usr/sbin:. SHELL=/usr/bin/sh Users who desire to have their .profile executed must explicitly do so in the crontab entry or in a script called by the entry. 더보기
Crontab Command Crontab commands export EDITOR = vi : to specify a editor to open crontab file. crontab -e : edit your crontab file, or create one if it doesn't already exit crontab -l : display you crontab file. crontab -r : remove your crontab file. crontab -v : dispaly the last time you edited you crontab file. ( This option is only available on a few systems. ) 더보기
Patten을 이용한 내용 변경 Patten에 의한 내용 변경 vi 에서 특정한 패턴을 수정을 요하는 경우가 있다. 이러한 경우에 사용하면 좋다. 일면 내가 바꾸고 싶은 문자열에 대해서 모두 바꾸기 기능 * :m,n s/^Item\[.*\] = // * :m,n s/;/,/g 여기서 m은 시작 라인수, n은 지정된 끝 라인수 s/ 는 시작을 알림 vi 텍스트 찾기와 바꾸기 명령어를 인터넷에서 검색해 보았습니다. 하도 산재되어 있어서 한 군데로 모은 것입니다. 1. 문서 처음부터 마지막까지의 char 를 _char_ 로 치환한다. :%s/char/_&_/g 2. 현재(커서위치)부터 마지막까지의 char 를 _char_ 로 치환한다. :.,$s/char/_&_/g 3. buf_.*[255], buf_in[255], buf_get[255] .. 더보기