파일의 첫라인을 지우는 스크립트.
작업을 하다가 엄청난 수의 파일중에 특정문자열(“format=%S”) 이 포함된 파일의 첫번째 줄을 지워야 하는 문제가 발생해서 스크립트를 하나 작성했다. 물론 하부 디렉토리도 많이 있으며, 모든 파일 대상이다. find 명령어와 sed 명령을 이용해 해결했다. 응용하면 더 잼있는 것도 만들수 있을 듯.. … Continue reading
작업을 하다가 엄청난 수의 파일중에 특정문자열(“format=%S”) 이 포함된 파일의 첫번째 줄을 지워야 하는 문제가 발생해서 스크립트를 하나 작성했다. 물론 하부 디렉토리도 많이 있으며, 모든 파일 대상이다. find 명령어와 sed 명령을 이용해 해결했다. 응용하면 더 잼있는 것도 만들수 있을 듯.. … Continue reading
서버 재시작시 redmine 자동시작 스크립트 1. init.d에 redmine 스크립트 작성
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
]# vi /etc/init.d/redmine #!/bin/bash # redmine case "$1" in start) echo -n "Starting redmine: " /home/redmine-1.0.3-0/ctlscript.sh start echo ;; stop) echo -n "Shutting down redmine : " /home/redmine-1.0.3-0/ctlscript.sh stop echo ;; restart) echo -n "Restarting redmine : " /home/redmine-1.0.3-0/ctlscript.sh restart echo ;; *) echo "Usage : $0 {start|stop|restart}" exit 1 esac exit 0 |
2. 스크립트가 정상동작 하는지 확인
1 2 3 |
]# /etc/init.d/redmine stop ]# /etc/init.d/redmine start ]# /etc/init.d/redmine restart |
3. 링크 걸기
1 2 3 4 |
]# cd /etc/rc.d/rc0.d ]# ln -s ../init.d/redmine K14redmine ]# cd /etc/rc.d/rc3.d ]# ln -s ../init.d/redmine S90redmine |
Groovy란 자바 플랫폼에서 실행하는 동적 애자일 언어이며 Python, Ruby, Smalltalk 언어로부터 영향을 받았습니다. 자바 개발자는 자바 비슷한 문법으로 이러한 특징들을 구현할 수 있습니다. 웹 어플리케이션 개발, 쉘 스크립트 사용, Groovy의 JUnit 기능을 이용한 간결하고 의미있는 테스트 케이스 작성, 어플리케이션 … Continue reading
특정 경로이하 또는 파일에서 특정 문자열을 원하는 문자열로 변경하는 펄 스크립트
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
#! /usr/bin/perl -w # PERL Scripted by bando # DATE : 20040805 # Mail : bando@bando.org # MSN : bando@bando.org # 특정 경로이하 또는 파일에서 특정 문자열을 원하는 문자열로 변경하는 펄 스크립트 if ( $#ARGV != 2 ) { &Usage(); } $Chan_path = $ARGV[0]; $Chan_ch = $ARGV[1]; $Chand_ch = $ARGV[2]; $total = 0; if ( ! -e $Chan_path) { print "$Chan_path 와 같은 파일이나 디렉토리는 없습니다!\n"; exit 1; } @arry = `grep "$Chan_ch" -l -r $Chan_path`; foreach(0..$#arry) { $arry[$_] =~ s/\&/\\&/g; $arry[$_] =~ s/\(/\\(/g; $arry[$_] =~ s/\)/\\)/g; chomp($arry[$_]); `perl -p -i -e 's/$Chan_ch/$Chand_ch/g' $arry[$_]`; print "$arry[$_] : $Chan_ch => $Chand_ch [OK]\n"; $total++; } print "\nTOTAL : $total 개 변경됨!\n\n"; sub Usage { print "\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n"; print "사용법 : $0 [이 경로이하 또는 파일에서] [이 문자열을] [이 문자열로 변경]\n\n"; print "설명 : 일치하는 문자열을 특정 문자열로 변경한다.\n"; print "예제 : $0 /home localhost 127.0.0.1\n"; print "결과 : /home 디렉토리 이하의 모든 파일에서 localhost문자열을 127.0.0.1문자열로 변경한다.\n"; print "\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n"; exit; } |
간단한 네트웍 트래픽 측정 스크립트
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
#!/bin/sh # # Scripted by JoungKyun Kim # 2001.2.15 http://www.oops.org # This Script follows GPL2 License if [ "$1" != "" ]; then # ethnet device ETH="$1:" CHECK=/proc/net/dev CAT=/bin/cat GREP="/bin/grep ${ETH}" SED="sed -e s/${ETH}//" UPTIME=/usr/bin/uptime # parcket user check set `${CAT} ${CHECK} | ${GREP} | ${SED}` # Transmit packet let "in1 = $1" let "out1 = $9" echo "측정중입니다. 기다려주세요" sleep 10 set `${CAT} ${CHECK} | ${GREP} | ${SED}` let "in0 = $1" let "out0 = $9" let " in = ($in0 - $in1)/(10*1024)" let " out = ($out0 - $out1)/(10*1024)" echo "수신(in) $in kbyte/s" echo "송신(out) $out kbyte/s" else echo "USAGE: $0 [ethernet device no]" echo "ex) ./$0 eth0" fi exit 0 |