Linux ShellScript 서버 Health Check 만들기 #!/bin/bash URLS=("URL1" URL2" ) DATE=$(date '+%Y-%m-%d %H:%M:%S') for i in "${URLS[@]}"; do contentLength=$(curl -isSf $i | grep 'Content-Length' | awk '{print $2}') echo "NOW: " $DATE ", Find : $contentLength" contentLength="${contentLength//[$'\t\r\n ']}" if [[ "$contentLength" -eq 0 ]]; then echo $i' is Empty.' else echo $i' is not Empty.' fi done bash 쉘로 스크립트를 구성하였다. URLS=("URL1" URL2" ) he.. Programming Bookmark/Linux 3년 전
maven build 시 특정 자바 버전으로 빌드하기 자바는 컴파일언어다 보니 실제 배포시 maven을 주로 사용한다. 그런데 maven은 JAVA_HOME을 기본적으로 바라본다. echo $JAVA_HOME 자바 홈이 8버전으로 세팅되어 있는데 빌드는 15버전으로 하게되야할 상황이 생겼다. 빌드시 스크립트를 변경하는 부분도 생각하고 User를 변경해서 Java_Home을 변경하는 방식도 생각햇다. 하지만 번거롭다는 생각이 들게 되었고 maven 빌드시 변수명만 변경해주는 방식으로 시도해보았다. 다음처럼 mvn 빌드시 JAVA_HOME을 넘겨서 15버전으로 빌드를 해보았다. 참고 url : https://qastack.kr/programming/19654557/how-to-set-specific-java-version-to-maven Programming Bookmark/Linux 4년 전
linux, mac 환경에서 java process 쉽게 확인하기 jps는 java로 실행되는 java virtual machine process 목록을 보여준다 jps command를 실행하면 ~ $ jps 43809 Jps 36245 43111 Launcher 43112 Application -> java application 36718 RemoteMavenServer36 jps-v 을 실행하면 nata$ jps -v 43810 Jps -Dapplication.home=/Library/Java/JavaVirtualMachines/adoptopenjdk-15.jdk/Contents/Home -Xms8m -Djdk.module.main=jdk.jcmd 36245 -Xms128m -Xmx4096m -XX:ReservedCodeCacheSize=240m -XX:+UseCo.. Programming Bookmark/Linux 4년 전
리눅스 파일에서 특정값에 대한 행수 찾기 cat {대상파일} | grep 'test' | wc -l 42 위의 뜻은 대상파일을 출력하는데 파이프라인으로 grep을하여 test라는 글자가 포함된 행의 수를 출력하시오 라는 뜻이다. Programming Bookmark/Linux 5년 전
Heroku 초기 세팅법 정리 heroku mac 세팅 brew install heroku/brew/heroku 도중 아래와 같은에러 발생시 sudo install -d -o $(whoami) -g admin {path} 다시 설치 시작 설치가 완료 된 후 heroku login 실행하게되면 로그인 창이 실행된다 . 미리 회원가입을 하신 후 로그인을 하게되면 위의 사진처럼 로그인이 완료되면 해당 창을 실행한 후 유지한다. 자신의 프로젝트 경로로 이동 한 후 heroku git:remote -a {히로쿠에 등록한 app명} 물론 git 파일이 미리 등록되어 있어야 한다. git 등록을 잘 모르신다면 git생성 설명 바로가기 remote git 을 등록 후 heroku git:remote -a {app명} heroku appr repo에.. Programming Bookmark/Linux 5년 전
linux, mac java 프로세스 모두 죽이기(kill) #!/bin/sh echo "Java Kill"; kill -9 `ps -ef|grep java|awk '{print $2}'` 프로젝트 진행 중 자바 프로세스가 죽지 않아서 프로세스가 중복되는 현상이 나타날때가 있다. 그럴때는 고민하지 않고 위의 shell을 만들어둬서 바로 기동한다. 첨부파일 : 해당 shell을 돌리면 위처럼 java 프로세스가 모두 죽는다. Programming Bookmark/Linux 5년 전
Mac 기본 쉘 bash shell로 사용하기 mac 버전 업그레이드 이후 잘 사용하던 bash shell이 기본 zsh로 변경되었다. 다시 bash 셸로 변경하려니 다음 처럼 zsh를 사용해달라고 하네요.. 전 개인적으로 쓰던 bash를 계속 쓰려고 기본셸을 변경해보았습니다. chsh -s /bin/bash 변경된 현재 shell을 보려면 echo $SHELL /bin/bash 자신의 가지고 있는 shell 종류를 보시려면 cat /etc/shells Programming Bookmark/Linux 5년 전
리눅스 crond를 이용한 로그 파일 자동 삭제 안녕하세요. 나타입니다. 오늘은 리눅스 crontab을 이용한 자동삭제 부분을 포스팅하겠습니다. 애플리케이션을 개발할때 저는 주로 log4j를 통해 로그를 관리합니다. 물론 특정 디렉토리에 일별로 로그를 관리하지요. 하지만 애플리케이션 서버를 계속 유지보수하다보면 쌓이는 로그들이 고민거리입니다. 물론 주기적으로 보면서 삭제하면 좋지만 일을하다보면 그게 쉽지는 않죠. 방치하자니 하드디스크 용량이 문제되구요. 이럴때는 리눅스 시스템에서 스케줄러를 통해 주기적으로 삭제하는 방법이 좋습니다. 일단 crontab -e를 통해 crond 설정 파일로 진입합니다. 10 5 * * * find /home/logs/ -mtime +15 -type f -ls -exec rm {} \; 위의 구문을 예를 들어 설명하겠습니다.. Programming Bookmark/Linux 6년 전
linux daemon process 자동 감지 스케줄러 리눅스에서는 타임스케줄러인 crontab 기능이 있다. */3 * * * * /{shell_path}/script.sh crontab에 3분마다 실행하도록 설정 script.sh 상세내용 daemon_array=("daemon_process1" "daemon_process2" "daemon_process3") daemon_path=/home for i in "${daemon_array[@]}" do file=$daemon_path/$i/nohup.out if [ -e "$file" ] then pid_info=$(ps -A -o pid,cmd|grep $i.jar | grep -v grep | head -n 3 | awk '{print $1}') if((pid_info > 0 )) then echo "p.. Programming Bookmark/Linux 6년 전
리눅스(linux) 쉘스크립트(shell)에 파라미터(parameter, argument) 넘기기 리눅스 쉘스크립트에서도 파라미터를 넘길 수 있다. 넘겨진 파라미터는 특정 키워드를 통해 넘겨 받을 수 있는데요. 넘겨진 순서에 따라 $1, $2 ... 으로 받을 수 있다. $0은 실행 파일 쉘스크립트 네임이다. 그리고 전체 파라미터를 하나의 변수에 받고 싶으면 $* 를 표시하면 된다. 이부분은 자바스크립트 아규먼트랑 같은 구조인 것 같다. 실행하려는 쉘스크립트 뒤로 공백 이후 문자열을 넘기면 받을 수 있다. echo "name $0" echo "parameter $1 and $2" 결과는 name test.sh parameter 1 and 2 Programming Bookmark/Linux 6년 전