본문 바로가기

반응형

엔지니어/Bash

(8)
solr 솔라 reload #!/bin/bash # reloads a Solr coreif [ "$1" = "" ]; thenecho -n "Name of core to reload: "read nameelsename=$1fi if [ ! -d /var/lib/solr/data/$name ] || [ $name = "" ]; thenecho "Core doesn't exist"exitfi curl "http://127.0.0.1:8080/solr/admin/cores?action=RELOAD&core=$name"
트래픽 체크 #/bin/sh dev=eth0 while ( true ) ; do echo ' ' rx1=`grep $dev /proc/net/dev | awk '{print $1}' | sed 's/.*://'` tx1=`grep $dev /proc/net/dev | awk '{print $9}'` sleep 3 rx2=`grep $dev /proc/net/dev | awk '{print $1}' | sed 's/.*://'` tx2=`grep $dev /proc/net/dev | awk '{print $9}'` # 1024/8 == 128 rx3=$(((rx2-rx1)/128/3)) tx3=$(((tx2-tx1)/128/3)) echo "`date '+%k:%M:%S'` : $rx3 Kbit / $tx3 Kbit"..
파일유무 보호되어 있는 글입니다.
mysql backup #!/bin/sh dat=`date +%Y%m%d%H%M%S` #echo $dat tar cfpz /bak/db/mysql$dat.tgz /var/mysql/data/* tar cfpz /bak/user/aaa$dat.tgz /home/aaa/* tar cfpz /bak/user/webroot$dat.tgz /home/webroot/public_html/* #tar cfpz /bak/user/cvs$dat.tgz /home/cvs/* echo "removing old backup files. . ." find /bak/db/ -mtime +30 -exec rm -f {} \; find /bak/user/ -mtime +30 -exec rm -f {} \;
geoip 보호되어 있는 글입니다.
expect rsync A서버에 있는 데이터를 물리적으로 다른 위치에 있는 B서버로 데이터를 백업 할때 rsync를 이용하면 편리합니다. rsync는 백업할 원본데이터를 가져올때 자신이 가지고 있는 파일과 비교해서 새로 생성된 파일들만 가져오기 때문에 좀 더 효율적으로 백업이 가능합니다. rsync 명령어는 대략 이렇게 됩니다. rsync [option] [service ip] [backupdirectory] -a : 심볼릭링크, 속성, 퍼미션, 소유권 등 보존 -v : 진행상황을 상세하게 보여줌 -z : 전송시 압축을 함 -u : 새로운 파일을 덮어쓰지 않음 --delete : 서버쪽에 없고 클라이언트 쪽에만 있는 파일을 백업시 지움 --progress : 진행을 %로 보여줌 rsync 명령어는 원본데이터가 있는 서버에서 백..
Bash 의 잘 알려지지 않은 기능 7가지 1. 이전 명령어 다시 실행 sudo를 사용 안 하고 root 권한이 필요한 명령어를 했을 때 아주 유용한 기능. 파라미터로 !! 를 입력하면 마지막으로 실행했던 명령어를 반복한다. 예를 들어 apt-get 명령어를 사용했는데 sudo를 쓰지 않아서 앞에 sudo를 붙여 다시 실행해야 하다면 sudo !! 라고 실행한다. 2. bash 스크립트 bash -n bashscript.sh -> 실제로 스크립트를 실행하지 않고 문법만 검사. bash -x bashscript.sh -> 디버그 모드로 스크립트 실행. 각 명령어와 그 결과를 단축하여 출력. 3. 이전 명령어의 특정 문자열을 치환 ^이전문자열^새문자열^ 문법으로 달성할 수 있다.$ sudo apt-get install wrongpackagename ..
Bash 트릭 몇가지 1. Ctrl+U와 Ctrl+Y(bash 한정) 긴 명령어를 치던 도중 다른 명령어를 먼저 실행해야 하는 상황을 겪어본 적이 있는가? 이럴 때 좋은 방법이 있다. 커서가 현재 명령줄의 끝에 오게 한 후(단축키: Ctrl+E) Ctrl+U를 누르면 줄이 비워진다. 먼저 실행해야 할 다른 명령어를 실행한 후 Ctrl+Y를 누르면 아까 쳤던 명령어가 그대로 붙여진다. 2. screen 명령어 하나의 터미널 세션 속에서 다수의 터미널 세션을 실행하는 명령어다. 세션은 단축키로 관리한다. 기본으로 설치되지 않을 수 있으니 필요하다면 설치해야 한다. 실행하면 도움말 같은 것이 나온 후 빈 터미널 창이 나온다. 여기서 sleep 9999를 실행해서 터미널을 일시적으로 사용하지 못하는 상태로 만들자. 그리고 나서 Ct..

반응형