728x90
awk, tr 조합
OS/Linux 2023. 7. 14. 15:57

특정 폴더 하위의 용량 체크 후 상위 3개를 뽑는 쉘 스크립트이다. #!/bin/sh BACK_SERVER_IP_LIST=("IP1" "IP2" "IP3" "IP4") FRONT_SERVER_IP_LIST=("IP1" "IP2" "IP3" "IP4") BACKEND='{' TOTAL='' # SERVER 당 du -sh 결과 (상위 3개) for value in "${BACK_SERVER_IP_LIST[@]}"; do tomcat7_DU=$(echo | sudo -S sshpass -p '' ssh ''@$value 'echo | sudo -S du -sh /usr/local/tomcat7/* 2>/dev/null | sort -hr | awk "NR >=0 && NR =0 && NR =0 && NR =..

OS 입출력
OS/Linux 2023. 5. 16. 15:23

리눅스 장치, 파일 디스크립터 표준 입출력 장치 정보를 받아들이는 장치 : 표준 입력 장치 정보를 출력하는 장치 : 표준 출력 장치 오류 메시지를 내보내는 장치 : 표준 오류 장치 파일 디스크립터 파일 디스크립터 이름 정의 0 stdin 표준 입력 1 stdout 표준 출력 2 stderr 표준 오류 리다이렉션 표준 입출력 장치를 파일로 바꾸는 것 출력 리다이렉션 명령어에 '>' 은 기존 파일의 내용을 삭제하고 새로 결과를 저장할 때 ex) cat > file2.txt 파일이름 명령 > 파일이름 명령 1에서 1은 파일 디스크립터 1 을 의미. 생략 가능 쉘은 '>'을 사용한 리다이렉션에서 지정한 파일의 이름이 없으면 파일을 생성하여 명령의 수행 결과를 저장. 지정한 이름의 파일이 있으면 이전의 내용은 없..

Linux 스케줄러
OS/Linux 2022. 11. 4. 10:42

CentOS 6.10 버전을 기준으로 작성했습니다. 서비스 배포시 logs_$date 로 나오는 로그 백업 폴더가 쌓이고 쌓여서 서버용량을 가득 채워서 스케줄러를 통해서 매일 오전 5시에 bzip 으로 압축하는 스케줄러를 작성했습니다. 1. 스케줄러 리스트 crontabl -l 45 19 * * * /home/user/test.sh 17 20 * * * /home/user/test2.sh현재 스케줄러가 어떤게 돌아가고 있는지 확인 가능 2. 스케줄러 등록할 스크립트 생성 및 작성 cd /home/user sudo vi logs_bzip.sh #실행 권한 sudo chmod +x logs_bzip.sh#!/bin/sh # crontab every thursday am 5:00 이런식으로 주석으로 스케줄러 ..

Linux Signal
OS/Linux 2022. 8. 10. 18:58

Linux에는 signal 이 있다. kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMI..

리눅스 명령어 정리 중..
OS/Linux 2022. 7. 25. 12:16

계속 추가될 예정 기능 명령어 해당 폴더 이동 cd 폴더 명 파일 or 폴더 이름 변경 mv #/ 이걸 넣으면 해당 경로로 이동하니 아무것도 넣지 않기를 바란다. 현재 경로 파악(어느 위치에 있는지) pwd 파일, 디렉토리 확인 ls 폴더 생성 mkdir 빈 디렉토리 삭제 rmdir (rm 은 웬만하면 사용하기전에 천번 정도 확인하길...) 디스크 공간 확인 df -> df -sh * (현재 위치 모든 폴더 남은 용량 확인) 현재 실행중인 프로세스 ps -> ps -ef \ 프로세스 죽이기 kill -9 PID -> 하기전에 ps -ef 로 중지시킬 프로세스의 id를 확인 후 하길... 리얼 쪽은 kill 하지 않기! 파일 내용 확인 cat -> cat은 grep 하고 같이 사용하길.. 많은 내용의 파일..

Linux (CentOS 6) 서비스 등록
OS/Linux 2022. 7. 25. 11:44

Linux (CentOS)에서 init.d 등록하기 fluentd 를 설치했는데 실행, 재실행, 중지 명령어를 bin 폴더로 들어가서 하는게 귀찮아서 서비스 등록해서 사용하려고 한다. centos7은 이 설정과 다르니 다른 블로그를 참조 shell script 작성 파일 생성 sudo vi fluentd # fluentd라는 이름의 파일 생성 script 작성 #!/bin/sh # chkconfig: 2345 90 90 # description: init file for fluentd # processname: fluentd RETVAL=0 PNAME=fluentd PID=`ps -ef| grep "^.*\$HOME/.rbenv/versions/2.6.10/bin/fluentd --user root --..

로그파일 시간 별로 추출하기
OS/Linux 2022. 6. 24. 19:03

시간대 별로 로그를 추출하는 방법 2022-06-23 17 시 ~ 19 시 로그 추출 파일 2개 생성 sudo vi number.log sudo vi input.log root 계정이 아니라면 생성한 폴더의 권한을 풀어준다. sudo chmod -R 777 number.log input.log 명령어 입력 sudo grep -n "^2022-06-23 1[7-9]:[0-9][0-9]:[0-9][0-9]" catalina.out | sudo cut -d':' -f1>number.log sudo vi number.log number.log 파일로 들어가보면 번호들이 쭉 있을 것이다. 제일 위의 첫번째와 맨 밑의 마지막 줄의 번호를 기억하자 Vim 에디터로 파일을 볼 때 gg 를 누르면 맨 위 , shift+..

Linux 버전 확인하는 법
OS/Linux 2022. 4. 27. 17:51

/etc/issue 를 확인하면 된다. cat /etc/issue CentOS release 7.0 Kernerl \r on an \m # 이렇게 했는데 안나오면 cat /etc/redhat-release 하면 나온다.

728x90