Development/OS

    [linux] 오래된 log 파일 찾아서 지우기

    find -name '*.log' -mtime +10 |xargs rm # .log에 해당하는 파일을 찾아서 mtime(수정시간)이 10일 이상이 된 것들을 지운다(xargs rm) # 명령어를 실행하는 디렉토리 밑의 파일들을 찾는다. # 데몬 디렉토리 혹은 톰캣 디렉토리 등으로 들어가서 명령어를 실행하면 된다. # -mtime : 수정시각, -atime : 접근시각, -ctime : 생성시각 # 대부분 로그는 append된 후, rolling 되기 때문에 mtime을 기준으로 하면 된다.

    [Linux] 리눅스 ssh 프롬프트 폰트 coloring 적용

    리눅스 시스템을 처음 설치하고 나면 아주 밋밋한 "하얀" 글자만 bash에 보이게 된다. 이는 원래 컬러링을 적용해야 하는데 적용이 안되는 경우로 특정 파일의 내용을 바꿔주는 것으로 컬러링을 적용시킬 수 있다. ~/.bashrc 파일을 수정함으로써 가능하다. 위 파일을 수정해본다 vim ~/.bashrc 를 치게 되면 bash에 대한 설정값이 적힌 파일이 오픈되는데, 여기서 주석처리가 되있는 부분을 풀어주면 된다(없으면 직접 타이핑을 해도 된다) # uncomment for a colored prompt, if the terminal has the capability; turned # off by default to not distract the user: the focus in a terminal wi..

    [Linux] sudo 로그인 시 패스워드 입력 없이 권한얻기

    대부분 리눅스 운영체제를 처음 설치하고 유저를 생성한 뒤 sudo su - 혹은 sudo -s 로 루트 권한을 받으려 할 때루트의 패스워드를 다시 묻는 경우가 발생하게 된다. 하지만 대부분의 서버.. 는(물론 루트의 패스워드를 따로 관리해서 매번 패스워드를 치는게 보안상 더 바람직 하긴 하나)그렇게 크리티컬한 서버가 아닐경우 패스워드 입력 없이 루트권한을 받아야 하는 경우도 있다 음.. 앞단에서 방화벽 장비가 막아주거나, 특별히 보안 상 위협이 없을 것이라고 판단할 경우에만 사용하는 것을 권장한다. 거두절미하고 방법은 /etc/sudoers 파일을 수정하는 것이다 이 파일에는 sudo 로 권한을 얻고자 하는 유저들의 권한에 관련된 정보가 담겨 있다 # # This file MUST be edited wi..

    [Linux] 자바 웹 어플리케이션 서버 실행 쉘(Shell) 스크립트

    JAVA로 작성한 jar파일을 데몬으로 돌려야할 때 필요한 쉘 스크립트 정리 기본적으로 java -jar 를 이용해 jar파일을 실행하는 것을 서비스 운영 모드로 동작하게 해주는(관리 측면 효율성) 쉘 스크립트이다. #!/bin/sh SERVICE_NAME=서비스명 PATH_TO_JAR=실행할 JAR 파일 path.jar PID_PATH_NAME=./서비스명.pid JAVA_OPT="-Xms2048m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m" case $1 in start) echo "Starting $SERVICE_NAME ..." if [ ! -f $PID_PATH_NAME ]; then nohup java -jar $JAVA_OPT $PATH_TO_JA..

    [C] 컴파일러 메모리 배치표

    1) Text 영역Read-Only변수가 저장되는 곳. 프로그래머 작성하는 코드가 이 영역에 포함된다. 2) Data 영역메모리 접근 공간으로 사용 가능하고, 프로그램 실행 도중 자유롭게 수정 및 변경이 가능하다. 3) BSS 영역메모리상 공간만 확보 후, 실제로 초기화를 시키지 않는다. 즉, 런타임 이후에 메모리영역이 확보된다. 지역변수 : Stack전역변수 : BSS(초기값 없는 전역변수) / DATA(초기값 있는 전역변수)

    [OS] Thread Safe란?

    Thead Safe 스레드 안전(thread 安全, 영어: thread safety)은 멀티 스레드 프로그래밍에서 일반적으로 어떤 함수나 변수, 혹은 객체가 여러 스레드로부터 동시에 접근이 이루어져도 프로그램의 실행에 문제가 없음을 뜻한다. 보다 엄밀하게는 하나의 함수가 한 스레드로부터 호출되어 실행 중일 때, 다른 스레드가 그 함수를 호출하여 동시에 함께 실행되더라도 각 스레드에서의 함수의 수행 결과가 올바로 나오는 것으로 정의한다. Thread-safe를 지키기 위한 방법 1. Re-entrancy어떤 함수가 한 스레드에 의해 호출되어 실행 중일 때, 다른 스레드가 그 함수를 호출하더라도 그 결과가 각각에게 올바로 주어져야 한다. 2. Thread-local storage공유 자원의 사용을 최대한 줄..