검색결과 리스트
글
유닉스 리눅스 du 명령어 에서 sort 로 정렬하기
유닉스 리눅스에서 du 명령어는 폴더나 파일의 사용량을 보여 주는 명령어 이다.
Summarize disk usage of each FILE, recursively for directories.
1.
기본적으로 모든 파일 폴더는 물론 서브폴더 까지 다 보여 주기 때문에 너무 많이 리스트 된다.
그래서 --max-depth=N 이라는 옵션을 이용하여 보여주는 폴더 단계를 조절해서 사용한다.
# du --max-depth=1
이라고 하면 1단계 폴더만 리스트 된다.
이 옵션을 별로로 옵션을 주지 않고 영구적으로 설정하여 계속 동작하게 하려면,
/etc/profile.d/ 폴더에 파일 하나를 추가해 서 위 옵션을 적어 넣어 주면 된다.
물론, bashrc 파일 등을 직접 수정할 수도 있지만, 확장성을 위해서 /etc/profile.d/ 를 이용하는 게 좋다.
/etc/profile.d/zzz.sh 파일의 내용은 아래 형식으로 넣어 준다.
alias du='du -h --max-depth=1'
위 옵션들은 각각
-h : human-readable 보기 쉬운 형태로 보여 준다. eg, 1K 2345M 2G
--max-depth=1 : 디렉토리를 1단계만 보여 준다.
2.
du 의 결과물을 정렬을 해 보자.
du 명령어 자체에는 정렬 옵션이 없어 보인다.
그래서, sort 명령어를 추가해서 정렬을 할 수 있다.
# du | sort -nr
이런식으로 du 의 결과물을 정렬할 수 있다.
du 한 후에 sort 하기 때문에, du 의 결과물이 많을 경우 sort 에도 시간이 많이 걸릴 수 있다.
sort 의 옵션들은 각각
-n : numeric-sort 문자열의 수치 값에 따라 비교한다.
-r : reverse 역순으로 정렬
'서버관리' 카테고리의 다른 글
CentOS 5.x 에서 curlftpfs 로 ftp filesystem mount 하기 (0) | 2014.10.03 |
---|---|
리눅스 logrotate 에서 로그파일 강제로 rotate 시키기 (0) | 2014.10.03 |
HowTo: The Ultimate Logrotate Command Tutorial with 10 Examples (0) | 2014.10.01 |
apache 아파치 웹서버에서 디렉토리 목록 보이지 않게 설정하기 (0) | 2014.09.30 |
설정
트랙백
댓글
글
CentOS 5.x 에서 curlftpfs 로 ftp filesystem mount 하기
CurlFtpFs 를 이용하여, 센토스 5.x 의 리눅스 박스에 ftp 를 로컬에 마운트 해서 사용하는 방법이다.
1.
curlftpfs 는 yum시스템에 등록되어 있지 않기 때문에, yum install curlftpfs 로 설치할 수 없다.
소스를 가져와서 설치해야 한다.
curlftpfs 의 사이트는 http://curlftpfs.sourceforge.net/ 이다.
2.
curlftpfs 를 설치하기 위해서는 몇가지 패키지가 설치되어 있어야 한다.
다음으로 그 패키지들을 설치할 수 있다. 이는 yum으로 설치할 수 있다.
# yum install glib2-devel
# yum install fuse-devel
# yum install libcurl-devel
일부는 이미 설치되어 있을 수도 있다.
필자의 경우는 fuse 가 설치되어 있지 않았다.
설치하면, fuse-devel 와 의존성 패키지인 fuse-libs 가 같이 설치된다.
libcurl 은 설치는 되어 있는데, 설치되어 있는 버전이 낮다. ㅡㅡ
버전 7.17.0 이 필요한데. 설치된 버전은 7.15.5 이다.
3.
이젠 curlftpfs 를 설치해 보자.
# cd /usr/local/src
# wget http://sourceforge.net/projects/curlftpfs/files/latest/download
# tar xvzf curlftpfs-0.9.2.tar.gz
# cd curlftpfs-0.9.2
# ./configure
# make
# make install
# wget http://downloads.sourceforge.net/projects/curlftpfs/curlftpfs/0.9.2/curlftpfs-0.9.2.tar.gz
# cd /usr/local/src
# wget http://downloads.sourceforge.net/projects/curlftpfs/curlftpfs/0.9.1/curlftpfs-0.9.1.tar.gz
# tar xvzf curlftpfs-0.9.1.tar.gz
# cd curlftpfs-0.9.1
# ./configure
# make
# make install
'서버관리' 카테고리의 다른 글
유닉스 리눅스 du 명령어 에서 sort 로 정렬하기 (0) | 2014.10.07 |
---|---|
리눅스 logrotate 에서 로그파일 강제로 rotate 시키기 (0) | 2014.10.03 |
HowTo: The Ultimate Logrotate Command Tutorial with 10 Examples (0) | 2014.10.01 |
apache 아파치 웹서버에서 디렉토리 목록 보이지 않게 설정하기 (0) | 2014.09.30 |
설정
트랙백
댓글
글
리눅스 logrotate 에서 로그파일 강제로 rotate 시키기
리눅스 계열 서버에서 각종 로그를 로테이트시키는 기능은 logrotate 가 담당한다.
그런데, 이 logrotate 는 cron 데몬에 의해서 실행이 된다. ^^
1. logrotate 가 실행되는 과정을 살펴 보자.
/etc/crontab 파일에 보면 아래와 같은 구문으로 매일 실행되는 것들의 폴더 위치가 있다.
02 4 * * * root run-parts /etc/cron.daily
위 폴더를 찾아가서 보면, logrotate 가 있다.
그러므로, 로그로테이트는 4시02분에 하루에 한번씩 실행된다.
logrotate 파일을 열어 보면.. 아래와 같은 구문이 있다.
/usr/sbin/logrotate /etc/logrotate.conf
실제 실행파일의 위치와 설정파일의 위치를 알 수 있다.
이제 /etc/logrotate.conf 파일을 열어 보자..
주요 설정들이 있는데, 역시나 아래와 같은 설정파일을 따로 빼 놓은 인클루드 구문이 있다.
include /etc/logrotate.d
/etc/logrotate.d 폴더에 들어가 보면.. 이제 개별로 로테이트 시킬 로그에 대한 설정들이 들어 있다. ^^
오늘 살펴볼 아파치 서버의 로그를 로테이트 시키는 놈은 apache 나 httpd 와 같은 이름으로 되어 있다.
물론 다른 이름으로 되어 있을 수도 있으나, 누가 보더라도 직관적인 이름이 좋다.
파일을 열어 보면.. 아래는 필자의 설정파일 이다.
/var/log/httpd/*-access_log /var/log/httpd/*-error_log {
size 500k
rotate 19
missingok
compress
postrotate
/usr/bin/killall -HUP httpd
endscript
}
위 세팅에 대한 설명은..
virtual host 세팅으로 여러 도메인의 로그가 따로 저장되어 있으며,
로그파일 사이즈가 500k 가 넘으면 로테이트 시키고 지난 19 건 이전 것은 삭제한다. 압축저장한다.
또다른 설정을 만들어 보면..
/var/log/httpd/*-access_log /var/log/httpd/*-error_log {
missingok
rotate 5
weekly
notifempty
sharedscripts
postrotate
/usr/local/apache/bini/apachectl restart
endscript
}
위 세팅의 조건은 매주 실행되고 빈파일은 로테이트 하지않으며 5건 이전 것은 삭제한다.
2. 강제로 로테이트를 시켜 보자..
위 설정대로 일주일에 한번만 실행하라고 세팅하면, 오늘 실행후 일주일을 기다려야 한다.
하지만, 잘 되는지 확인해 보고자 할 때가 있다.
이때는, logrotate 가 실행된 날짜가 저장되어 있는 파일을 찾아 날짜를 조작하면 된다.
해당 파일은 /var/lib/logrotate.status 이다.
열어 보면 아래와 같은 구문이 보인다.
"/var/log/httpd/www.domain.com-access_log" 2014-10-1
여기서 맨 뒤에 있는 날짜가 마지막 실행된 날짜 이므로 이 날짜를 일주일 전으로 수정하면 된다.
그리고, logrotate 를 실행한다.
# /etc/cron.daily/logrotate
로그 파일을 살펴보면, 로그가 로테이트 되었음을 볼 수 있다.
* 참고 및 이미지 출처 : http://www.thegeekstuff.com/2010/07/logrotate-examples/#more-4826
'서버관리' 카테고리의 다른 글
유닉스 리눅스 du 명령어 에서 sort 로 정렬하기 (0) | 2014.10.07 |
---|---|
CentOS 5.x 에서 curlftpfs 로 ftp filesystem mount 하기 (0) | 2014.10.03 |
HowTo: The Ultimate Logrotate Command Tutorial with 10 Examples (0) | 2014.10.01 |
apache 아파치 웹서버에서 디렉토리 목록 보이지 않게 설정하기 (0) | 2014.09.30 |
RECENT COMMENT