블로그 > 행복한 이야기~^^ http://blog.naver.com/hpystory/40014422127 | |
[로그 남기기] * 정해진 날짜에 로그 파일명을 "logfile.년월일"로 바꾸고 싶을때. mv logfile logfile.date +%Y.%m.%d touch logfile => 일정한 주기를 설정하여 crontab에 등록함. * 정기적으로 쉘 실행 #!/bin/sh cd /var/log mv logfile.2.gz logfile.3.gz mv logfile.1.gz logfile.2.gz mv logfile logfile cat /dev/null > logfile gzip 9 logfile.1 [시스템 관리 명령어] ps aux|grep httpd ps aux|egrep 'httpd|mysql' * option -i : 대소문자 구별을 하지 않는다. -v : 패턴을 포함하지 않는 행만 출력한다. -n : 행 번호를 출력한다. -l : 파일명만 출력한다. -c : 패턴과 일치하는 라인의 갯수만 보여준다. grep -v "^[ ^l]*$" 파일명 : 공백을 제거한 파일 내용 살펴보기 grep -v "^#*$" 파일명 : 주석을 제거한 파일 내용 살펴보기 find . -exec grep "pattern" {} \; : 현재 디렉토리와 그 하위 디렉토리까지 grep 패턴 검색 [필터 역할 awk명령] ls -al | awk '{print $1 $5 $9}' : 원하는 컬럼값만을 선택해서 출력 * awk의 연산기능 find /home/design -user design -ls | \ awk '{sum+=$7}; END {print "User design total disk use = " sum }' User design total disk use = 8548335 => 7번째 열의 합계를 누적(참고: sum/NR은 평균값, NR은 현재까지의 입력 라인수) [find 명령] -atime n : 정확히 n 일 전에 access 된 파일 -mtime n : 정확히 n 일 전에 수정된 파일 -newer [file] : file 보다 최근에 수정된 파일 -size n : 정확히 n x 512 byte의 길이를 갖는 파일 -type c : 파일의 종류를 기술. f : 파일, d : 디렉토리 -fstype [filesystem] : 파일 시스템 종류 -name [pattern] : 파일 이름 검색 -perm p : 파일 접근 퍼미션이 p인 경우 -user [user] : 파일 소유권이 user인 파일 -group [group] : 파일 그룹이 group인 파일 -nouser : 파일 소유자가 /etc/passwd에 없는 경우 -nogroup : 파일 소유 그룹이 /etc/group에 없는 경우 -uid n : 파일 uid가 n인 경우 -gid n : 파일 gid가 n인 경우 + 는 ~~보다 큰 경우, - 는 ~~ 보다 작은 경우 -mtime +7 : 수정된 지 7일이 지난 파일 -mtime -7 : 수정된 지 7일이 안된 파일 -size +100 : 50kbyte 보다 큰 파일 -name 뒤엔 인용 부호(와일드 카드 문자)를 같이 사용할 수 있다. -name *.dat : 확장자가 dat 인 모든 파일 find ./ -atime +60 -mtime 120 : AND 논리 연산으로 접근한지 60일 지난 파일 중 수정한 지 120일 지난 파일 find ./ \( -user design -o -group design \) : OR 논리 연산으로 소유자나 그룹이 design인 경우 find ./ \( ! -user design -o ! -group design \) : NOT 논리 연산으로 소유자나 그룹이 design이 아닌 경우 -perm 옵션은 숫자 형태의 특정 접근 모드를 이용하여 파일을 검색하는 옵션이다. 옵션별 사용 예 -perm 75 : permission = 755 -perm -002 : 모든 사람들이 기록할 수 있는 파일 -perm -4000 : SUID 액세스 설정 -perm -2000 : SGID 액세스 설정 -print : 대응되는 파일의 경로명을 출력 -ls : 대응되는 파일에 대한 긴 디렉토리 목록을 출력 -exec commands : 대응되는 파일에 대해 commands 명령 수행 -ok commands : 파일에 대한 commands 명령 수행 전에 입력 대기 상태 -xdev : 검색 시작 디렉토리가 속해 있는 파일 시스템에 대해서만 검색 제한 -mount : IRIX 와 SCO UNIX 에서 -xdev 옵션 -prune : 서브 디렉토리는 검색을 하지 않음 -print 옵션은 근래는 기본으로 들어간다. 굳이 붙일 필요는 없고, -exec, -ok 옵션 사용 시에는 반드시 마지막에 \; 으로 구문을 마감한다. find ./ -name *.* -exec rm -f {} \; : 검색한 파일을 지운다. find / -type f -size +20480 -mtime +30 -ls : 파일 크기가 20M 이상이며 30일 이상 동안 수정되지 않은 파일 find / -type f -size +20480 -mtime +30 -exec rm -f {} \; : 대응되는 파일 삭제 find / -type f \( -perm -4000 -o -perm -2000 \) : setuid, setgid검색 find / -type f \( -perm -4000 -o -perm -2000 \) | diff - setuidlist => 검색된 setuid, setgid를 기존에 작성한 목록과 비교하여 새로 추가 된 것이 있는지를 확인한다.) |
0