리눅스 디스크 전체 압축하기

리눅스 시스템 변경으로 기존 파티션 데이터를 통으로 백업할 일이 생겼다. 앞으로 또 이런 일이 생길까 해서 기록해 둔다. 불필요한 디렉토리 명령어에서 빼고 실행하자. 참고로 다 묶은 후 종료할 때  tar: Error exit delayed from previous errors 에러메세지가 나오는데 그냥 무시하면 됨. tar 옵션 중 –exclude= 이용하여 제외할 디렉토리를 입력 만약 제외 대상이 디렉토리가 아니라 파일이라면 …
리눅스 디스크 전체 압축하기 더보기

리눅스 NTP 시간오차 확인 및 동기화 쉘 스크립트

NTP서버 <-> 로컬서버 시간오차가 5초이상 발생시 자동으로 NTP서버의 시간으로 동기화 하는 쉘 스크립트 입니다.   #!/bin/bash #사용하고 싶은 NTP서버 입력 NTPSERVER=time.bora.net DIFF=`ntpdate -d $NTPSERVER | tail -n 1 | awk ‘{print $10}’ | cut -d “.” -f1` DIFFTIME=`expr $DIFF` echo “DIFFTIME = “$DIFFTIME abs () { if [ “$1” -ge 5 ] then sleep 5 …
리눅스 NTP 시간오차 확인 및 동기화 쉘 스크립트 더보기

일괄처리 쉘 스크립트

특정 작업을 반복할 때 사용하면 편하다. batchrun() { ? ?TAR_FILE=$1 ? ?echo “$TAR_FILE Starting” ? ?tar -zxvf $TAR_FILE -C 벡업파일저장위치 >> tar_xvf.log } batchrun tar파일명1.tar.gz batchrun tar파일명2.tar.gz batchrun tar파일명3.tar.gz batchrun tar파일명4.tar.gz batchrun tar파일명5.tar.gz

sftp로 자동백업 쉘 스크립트

#!/bin/ksh ### xxxx_yyyymmdd 형식의 파일이름으로 저장되어 있는 디렉토리 중에 시스템시간기준 어제날짜를 찾아서 ### tar로 묶고 백업서버로 전송하는 쉘 # 1. A -> B 서버 ssh 서비스 자동로그인 방법 # 1) A서버 계정 홈 .ssh디렉토리 생성 # 2) .ssh에서 ssh-keygen -t rsa # 3) cat ~/.ssh/id_rsa.pub | ssh 계정id@서버ip “cat >> .ssh/authorized_keys” # crontab 등록시 /xxx/xxx/sftp.sh …
sftp로 자동백업 쉘 스크립트 더보기

일정기간 데이터 tar묶는 쉘 스크립트

#!/bin/bash ### xxxx_yyyymmdd 형식의 파일이름으로 저장되어 있는 데이터를 15일 단위로 묶는 쉘 # crontab 등록시 /xxx/xxx.sh >> /xxx/xxx_`date +%Y%m%d`.log 2>&1 # 원본이 있는 디렉토리 지정 SOURCEDIR=/xxx # tar 묶은 후 tar저장 디렉토리 지정 TARFILE=/xxx cd $SOURCEDIR # 가장 오래된 파일 검색하여 파일명에서 yyyymm 만 가져옴 TARSTART=`ls –time-style=”+%Y-%m-%d %H:%M:%S” -tr | head -n 1 | cut …
일정기간 데이터 tar묶는 쉘 스크립트 더보기

자동 프로세스 종료 쉘 스크립트

#!/bin/sh #2017. 04. 06 Created by BUSARI echo “shutting down…..” pid=`ps -ef | grep 대상프로세스명 | grep -v ‘grep’ | awk ‘{print $2}’` if [ -z $pid ]; then echo “Stopped.” exit 1 else kill -9 $pid fi sleep 1 PROCESS_COUNT=`ps -ef | grep 대상프로세스명 | grep -v ‘grep’ | awk ‘{print $2}’ | wc …
자동 프로세스 종료 쉘 스크립트 더보기

쉘 스크립트 변수간 비교 연산자

출처 :?http://www.iwiz.pe.kr/bbs/view/system/article_24.html 변수수사용법 ※주의사항: ’=’ 좌우에 공백이 있어서는 안된다. 변수명=값 string=”I am a boy” #출력시 변수 로드 : $string 표현식 ※주의사항: [ 뒤와, ] 앞에는 반드시 공백이 있어야 한다. [ $A -eq $B ] A와B의 값이 같은 경우 [ $A -ne $B ] A와B의 값이 다른 경우 [ $A -gt $B ] A가B보다 큰경우 [ …
쉘 스크립트 변수간 비교 연산자 더보기

/proc is not mounted, required for output data

리눅스 사용 중 일부 명령어를 실행하면?아래와 같은 에러메시지가 나오면서 실행이 되지 않는 경우가 있다. 명령어: /proc is not mounted, required for output data 예를 들어 top 명령어 실행시 top 명령 실행시 top: /proc is not mounted, required for output data 에러가 발생할 수 있다. 이런 경우 /proc의 소유자/권한을 변경해주면 된다.   root로 접속 후 아래 …
/proc is not mounted, required for output data 더보기

리눅스 특정 프로세스 모니터링 및 살리기

Centos7 사용하기 시작했는데 inittab를 통한 프로세스 모니터링 적용이 되지 않아 아래 방법으로 사용하고 있습니다. (centos7/rhel7은 이전 버전에 비해 많은 부분이 변경되어 혼란스럽군요 ^^;) 아래 보기는 톰캣 프로세스를 1초 마다 확인하여 프로세스가 없는 경우 다시 살리는 방법입니다. 각자의 환경에 맞게 수정해서 사용하시면 됩니다.   임의 파일생성 ?1) vi tomcatmonitor.sh ? ? ? #!/bin/bash ? ? ? …
리눅스 특정 프로세스 모니터링 및 살리기 더보기

리눅스 메모리 누수 확인

아래는 간단히 쉘로 체크하는 방법이다. 만약 Memory Leak을 찾아주는 툴을?이용하고 싶다면 https://kldp.org/node/100543여기를 참고하자.   ?1. 2분마다 vsz, rss 체크?? ==>?프로세스가 메모리 반환을 하지 않아 누수가 발생될 경우 VSZ값이 증가한다. ??#!/bin/bash ??while : ??do ??echo “====================” ??echo “java” ??ps -ef|grep “java” |? grep -v grep |awk ‘{print “ps -p ” $2 ” -o vsz,rss”}’ | sh …
리눅스 메모리 누수 확인 더보기