목록OS/Linux (53)
미니옵빠의 code stubs
운영 중 자주 사용하는 명령어 기록. cat access.log | awk '{ print $1 }' | sort -nr | uniq -c | sort -nr -k 1 File 기반 access log 에서, 특정 column 기반으로 aggeration (group by) count 출력. count 높은 순으로 desc. 특정 사이트 접속이 많을 때, 접속량이 많은 도메인 추출 등에 활용 e.g. 아래와 같은 형태의 access log raw 가 있을 때 abc.domain.com 111.222.111.222 - - [28/Dec/2021:23:59:59 +0900] "GET " bcd.domain.com 111.222.111.222 - - [28/Dec/2021:23:59:59 +0900] "GET..
apache 의 child process 중 일부가 안 죽고 오래 살아있는 경우가 있어, 거기다 cpu 사용량까지 높아 서버 자원이 부족한 사태가 발생.서버 모니터링 문자 등을 받아 수작업으로 kill 시켜주다가, 귀찮아서 스크립트로 작성. 사실 원인 파악을 하고 해결해야 하지만, 여러 복잡한 관계가 얽혀있다보니 임시조치로 -_- 방법은 많겠지만 간단하게. 요런 스크립트를 하나 만들어 crontab 돌려두면 됨.참고로 5분 이상 돌고 있으면 죽여버리게 했는데, 이 코드도 문제가 있기 함. top -b -n 1 | grep -v root | grep httpd | awk '{ if ($11 > "5:00.00") { print $1 } }' | xargs kill -9
openssl 로 확인 가능 openssl x509 -in ./인증서파일.crt -noout -text
아래를 기본 설정으로. log file = /homeDir/logs/rsync [irteam] path=/homeDir exclude=/.ssh use chroot = no read only= no uid=user gid=user hosts allow = 127.0.0.1 xxx.xxx.xxx.xxx hosts deny=* logging 은 필수/.ssh 처럼 보안 침해 시 (공개키 추가 등) 타격이 큰 곳은 exclude 처리. exclude 시작 점은 path 부터임. /homeDir/.ssh 이렇게 하면 안됨홈 디렉토리를 벗어나지 못하도록 use chroot = no 처리. 아니면 symbolic link 로 뚫릴 수 있음read only 는 root 나 homeDir 의 경우 yes 로 하여 쓰기..
예전에 사용하던 setuid 방식 외 Capabilities 사용 방법 sudo yum install libcap // 없으면 설치sudo setcap 'cap_net_bind_service=+ep' /apps/nginx/sbin/nginx // 이후 일반 user로 가서 그냥 실행 Ref:CentOS 7 man https://www.unix.com/man-page/centos/7/capabilities/http://sangchul.kr/470
xz 파일 압축 해제 시 아래와 같은 메시지 등을 보이며 압축 해제가 불가할 때가 있음 - xz: (stdin): 메모리를 할당할 수 없습니다- xz: (stdin): Cannot allocate memory- unxz: node-v8.11.1-linux-x64.tar.xz: 메모리를 할당할 수 없습니다- unxz: node-v8.11.1-linux-x64.tar.xz: Cannot allocate memory swap free 메모리 부족 이슈로, 아래와 같이 cache 영역을 clear 해주면 됨. sync; echo 3 > /proc/sys/vm/drop_caches root 권한이 없어 어려울 경우도 있으므로, xz 가 아닌 gz / tar 등 다른 압축 파일을 받아 사용하는 것이 마음 편함 re..
CentOS 6 은 주로 gcc 4.4 사용, CentOS 7 은 4.8 사용CentOS 6에서 g++/gcc 업그레이드 필요 시 아래 참고 $ wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo$ yum install devtoolset-2-gcc devtoolset-2-binutils$ yum install devtoolset-2-gcc-c++ devtoolset-2-gcc-gfortran scl enable devtoolset-2 bash .bashrc 등에 아래 설정 추가 source /opt/rh/devtoolset-2/enable node-gyp@3.6.2 / node@6...
파일을 읽기 전용으로 설정/해제할 때 사용.(사실 다른 속성 설정도 많지만, 주로 이 목적으로 사용) chmod / chown 관련 권한만으로 파일을 왜 수정할 수 없는지 당췌 모를때 보통 이 설정이 되어 있는 경우가 많다. 속성값 확인: lsattr 아래와 같이 i 속성이 있는 경우 읽기 전용임lsattr /etc/security/limits.conf ----i----------- /etc/security/limits.conf 속성값 변경: chattr 아래와 같이 -i 로는 읽기 속성 제거, +i 로는 읽기 속성 추가sudo chattr -i /etc/security/limits.conf ---------------- /etc/security/limits.conf
iotop 설치하면 편함.거의 이걸로 통일되는 듯. http://guichaz.free.fr/iotop/https://www.cyberciti.biz/hardware/linux-iotop-simple-top-like-io-monitor/ su 권한으로 실행해야 함. yum 으로 설치하면 /usr/sbin/iotop 에 있음 sudo /usr/sbin/iotop
리눅스에서 프로세스들의 메모리 사용량을 내림차순으로 보기, 상위 10개만. ps -eo user,pid,ppid,rss,size,vsize,pmem,pcpu,time,cmd --sort -rss | head -n 11 * 헤더 컬럼 때문에 head -n 11 로 해야 10개의 row 가 노출* RSS 가 메모리 사용량. KB 단위 USER PID PPID RSS SZ VSZ %MEM %CPU TIME CMDuser 16373 2046 3320404 4565032 4935356 84.6 0.1 00:00:21 /home1/user/apps/apache-2.2.27/bin/httpd -k startuser 3429 2046 6360 10276 380600 0.1 0.0 00:00:33 /home1/user/..