프록시 서버는 캐시 디렉토리 구조를 구성, 변경, 생성 및 복구할 수 있는 다양한 명령줄 유틸리티와 함께 제공합니다. 이러한 유틸리티 대부분은 Server Manager 페이지의 기능과 중복됩니다. 예를 들어, cron 작업과 같은 유지 관리를 예약해야 하는 경우 유틸리티를 사용할 수 있습니다. 모든 유틸리티는 extras 디렉토리에 있습니다.
명령줄 프롬프트에서 server_root /proxy-serverid 디렉토리로 이동합니다.
./start -shell을 입력합니다.
다음 절에서는 다양한 유틸리티에 대해 설명합니다.
cbuild라고 하는 프록시 유틸리티는 오프라인 캐시 데이터베이스 관리자입니다. 이 유틸리티를 사용하여 새 캐시 구조를 만들거나 명령줄 인터페이스를 사용하여 기존 캐시 구조를 수정할 수 있습니다. Server Manager 페이지를 사용하여 프록시에서 새롭게 만든 캐시를 사용할 수 있습니다.
유틸리티는 server.xml 파일을 업데이트하지 않습니다. cbuild는 파티션이 여러 개인 캐시의 크기를 조정할 수 없습니다. cbuild에서 캐시를 만들거나 수정하면 cachecapacity 매개 변수를 server.xml 파일에서 수동으로 업데이트해야 합니다.
<PARTITION partitionname="part1" partitiondir="/home/build/install9 /proxy-server1/cache" maxsize="1600" minspace="5" enabled="true"/> <CACHE enabled="true" cachecapacity="2000" cachedir="/tmp/cache">
두 가지 모드로 cbuild 유틸리티를 호출할 수 있습니다. 첫 번째 모드는 다음과 같습니다.
cbuild -d conf-dir -c cache-dir -s cache size cbuild -d conf-dir -c cache-dir -s cache size -r
예:
cbuild -d server_root/proxy-serverid/config -c server_root/proxy-serverid/cache -s 512 cbuild -d server_root/proxy-serverid/config -c server_root/proxy-serverid/cache -s 512 -r
여기서
conf-dir은 server_root /proxy-serverid/config 디렉토리에 있는 프록시 인스턴스의 구성 디렉토리입니다.
cache-dir은 캐시 구조의 디렉토리입니다.
cache size는 캐시가 증가할 수 있는 최대 크기입니다. 이 옵션은 cache-dim 매개 변수와 함께 사용할 수 없습니다. 최대 크기는 65135MB입니다.
-r은 파티션이 한 개인 경우 기존 캐시 구조의 크기를 조정합니다. 새 캐시를 만드는 데에는 필요하지 않습니다.
두 번째 모드는 다음과 같습니다.
cbuild -d conf-dir -c cache-dir -n cache-dim cbuild -d conf-dir -c cache-dir -n cache-dim -r
예:
cbuild -d server_root/proxy-serverid/config -c server_root/proxy-serverid/cache -n 3 cbuild -d server_root/proxy-serverid/config -c server_root/proxy-serverid/cache -n 3 -r
여기서
conf-dir은 server_root /proxy-serverid/config 디렉토리에 있는 프록시 인스턴스의 구성 디렉토리입니다.
cache-dir은 캐시 구조의 디렉토리입니다.
cache-dim은 섹션 수를 결정합니다. 예를 들어, 그림 12–2의 s3.4로 표시된 섹션에서 3은 크기를 나타냅니다. cache-dim의 기본값은 0이고 최대값은 8입니다.
-r은 파티션이 한 개인 경우 기존 캐시 구조의 크기를 조정합니다. 이 옵션은 새 캐시를 만드는 경우 필요하지 않습니다.
프록시 유틸리티 urldb는 캐시의 URL 목록을 관리합니다. 이 유틸리티를 사용하여 캐시된 URL을 나열할 수 있습니다. 또한 캐시 데이터베이스에서 캐시된 객체를 선택적으로 만료 및 제거할 수 있습니다.
urldb 명령은 -o 옵션을 기준으로 다음 세 개의 그룹으로 분류할 수 있습니다.
도메인
사이트
URL
도메인을 나열하려면 명령줄에 다음 명령을 입력합니다.
urldb -o matching_domains -e reg-exp -d conf-dir
예:
urldb -o matching_domains -e “.*phoenix.*” -d server-root/proxy-serverid/config
여기서
matching_domains는 정규 표현식과 일치하는 도메인을 나열합니다.
reg-exp는 사용된 정규 표현식입니다.
conf-dir은 server-root /proxy-serverid/config 디렉토리에 있는 프록시 인스턴스의 구성 디렉토리입니다.
도메인에서 일치하는 모든 사이트를 나열하려면 명령줄에 다음 명령을 입력합니다.
urldb -o matching_sites_in_domain -e reg-exp -m domain_name -d conf-dir
예:
urldb -o matching_sites_in_domain -e “.*atlas” -m phoenix.com -d server-root/proxy-serverid/config
여기서
matching_sites_in_domain은 정규 표현식과 일치하는 도메인의 모든 사이트를 나열합니다.
reg-exp는 사용된 정규 표현식입니다.
domain_name은 도메인 이름입니다.
conf-dir은 server-root /proxy-serverid/config 디렉토리에 있는 프록시 인스턴스의 구성 디렉토리입니다.
일치하는 모든 사이트를 나열하려면 명령줄에 다음 명령을 입력합니다.
urldb -o all_matching_sites -e reg-exp -d conf-dir
예:
urldb -o all_matching_sites -e “.*atlas.*” -d server-root/proxy-serverid/config
여기서
all_matching_sites는 정규 표현식과 일치하는 모든 사이트를 나열합니다.
reg-exp는 사용된 정규 표현식입니다.
conf-dir은 server-root /proxy-serverid/config 디렉토리에 있는 프록시 인스턴스의 구성 디렉토리입니다.
사이트에서 일치하는 URL을 나열하려면 명령줄에 다음 명령을 입력합니다.
urldb -o matching_urls_from_site -e reg-exp -s site_name -d conf-dir
예:
urldb -o matching_urls_from_site -e “http://.*atlas.*” -s atlas.phoenix.com -d server-root/proxy-serverid/config
여기서
matching_urls_from_site는 정규 표현식과 일치하는 사이트의 모든 URL을 나열합니다.
reg-exp는 사용된 정규 표현식입니다.
site_name은 사이트의 이름입니다.
conf-dir은 server-root /proxy-serverid/config 디렉토리에 있는 프록시 인스턴스의 구성 디렉토리입니다.
사이트에서 일치하는 URL을 만료 또는 제거하려면 명령줄에 다음 명령을 입력합니다.
urldb -o matching_urls_from_site -e reg-exp -s site_name -x e -d conf-dir urldb -o matching_urls_from_site -e reg-exp -s site_name -x r -d conf-dir
예:
urldb -o matching_urls_from_site -e “http://.*atlas.*” -s atlas.phoenix.com -x e -d server-root/proxy-serverid/config
여기서
matching_urls_from_site는 정규 표현식과 일치하는 사이트의 모든 URL을 나열합니다.
reg-exp는 사용된 정규 표현식입니다.
site_name은 사이트의 이름입니다.
-x e는 캐시 데이터베이스에서 일치하는 URL을 만료하기 위한 옵션입니다. 이 옵션은 도메인 및 사이트 모드와 함께 사용할 수 없습니다.
-x r은 캐시 데이터베이스에서 일치하는 URL을 제거하기 위한 옵션입니다.
conf-dir은 프록시 인스턴스의 구성 디렉토리입니다. server-root /proxy-serverid/config 디렉토리에 있습니다.
일치하는 모든 URL을 나열하려면 명령줄에 다음을 입력합니다.
urldb -o all_matching_urls -e reg-exp -d conf-dir
예:
urldb -o all_matching_urls -e “.*cgi-bin.*” -d server-root/proxy-serverid/config
여기서
all_matching_urls는 정규 표현식과 일치하는 모든 URL을 나열합니다.
reg-exp는 사용된 정규 표현식입니다.
conf-dir은 server-root /proxy-serverid/config 디렉토리에 있는 프록시 인스턴스의 구성 디렉토리입니다.
일치하는 모든 URL을 만료하거나 제거하려면 명령줄에 다음 명령을 입력합니다.
urldb -o all_matching_urls -e reg-exp -x e -d conf-dir urldb -o all_matching_urls -e reg-exp -x r -d conf-dir
예:
urldb -o all_matching_urls -e “.*cgi-bin.*” -x e -d server-root/proxy-serverid/config
여기서
all_matching_urls는 정규 표현식과 일치하는 모든 URL을 나열합니다.
reg-exp는 사용된 정규 표현식입니다.
-x e는 캐시 데이터베이스에서 일치하는 URL을 만료시키기 위한 옵션입니다.
-x r은 캐시 데이터베이스에서 일치하는 URL을 제거하기 위한 옵션입니다.
conf-dir은 server-root /proxy-serverid/config 디렉토리에 있는 프록시 인스턴스의 구성 디렉토리입니다.
URL 목록을 만료하거나 제거하려면 명령줄에서 다음 명령을 입력합니다.
urldb -l url-list -x e -e reg-exp -d conf-dir urldb -l url-list -x r -e reg-exp -d conf-dir
예:
urldb -l url.lst -x e -e “.*cgi-bin.*” -d server-root/proxy-serverid/config
여기서
url-list는 만료해야 할 URL 목록입니다. 이 옵션은 URL 목록을 제공하는 데 사용할 수 있습니다.
-x e는 캐시 데이터베이스에서 일치하는 URL을 만료하기 위한 옵션입니다.
-x r은 캐시 데이터베이스에서 일치하는 URL을 제거하기 위한 옵션입니다.
reg-exp는 사용된 정규 표현식입니다.
conf-dir은 server-root /proxy-serverid/config 디렉토리에 있는 프록시 인스턴스의 구성 디렉토리입니다.
cachegc 유틸리티를 사용하여 만료되었거나 캐시 크기 제약 조건으로 인해 너무 오래되어 캐시할 수 없는 캐시 데이터베이스에서 객체를 제거할 수 있습니다.
cachegc 유틸리티를 사용하는 경우 CacheGC가 프록시 인스턴스에서 실행되지 않는지 확인합니다.
cachegc 유틸리티는 다음과 같은 방법으로 사용할 수 있습니다.
cachegc -f leave-fs-full-percent -u gc-high-margin-percent -l gc-low-margin-percent -e extra-margin-percent -d conf-dir
예:
cachegc -f 50 -u 80 -l 60 -e 5 -d server-root/proxy-serverid/config
여기서
leave-fs-full-percent는 가비지 컬렉션이 실행되지 않는 캐시 파티션 크기 백분율 한도를 결정합니다.
gc-high-margin-percent는 최대 캐시 크기 백분율을 제어하고 최대값에 도달하는 경우 가비지 컬렉션을 실행합니다.
gc-low-margin-percent는 가비지 컬렉터가 대상으로 하는 최대 캐시 크기의 백분율을 제어합니다.
extra-margin-percent는 가비지 컬렉터가 제거할 캐시 조각을 결정하는 데 사용합니다.
conf-dir은 server-root /proxy-serverid/config 디렉토리에 있는 프록시 인스턴스의 구성 디렉토리입니다.
bu 유틸리티는 캐시를 업데이트하고 두 가지 모드에서 작동합니다. 첫 번째 모드에서는 캐시 데이터베이스를 통해 반복되고 각각에 대해 HTTP 요청을 전송하여 캐시에 있는 모든 URL을 업데이트합니다. 두 번째 모드에서는 제공된 URL로 시작하여 해당 URL의 모든 링크에 대해 지정한 깊이까지 첫 번째 반복을 수행하고 페이지를 캐시로 가져옵니다. bu는 RFC 호환 로봇입니다.
bu -n hostname -p port -t time-lmt -f contact-address -s sleep-time -o object -r n -d conf-dir
예:
bu -n phoenix -p 80 -t 3600 -f admin@phoenix.com -s 60 -o nova -r n -d server-root/proxy-serverid/config
여기서
hostname은 프록시가 실행되는 시스템의 호스트 이름입니다. 기본값은 localhost입니다.
port는 프록시 서버가 실행되는 포트입니다. 기본 포트는 8080입니다.
time-lmt는 유틸리티가 실행되는 시간 제한입니다.
contact-address는 bu에서 전송된 HTTP 요청에서 전송되는 연락처 주소를 결정합니다.기본값은 worm@proxy-name입니다.
sleep-time은 연속적인 두 요청 사이의 휴면 시간입니다. 기본값은 5초입니다.
object는 현재 실행 중인 bu.conf에서 지정된 객체입니다.
-r n 옵션은 robot.txt 정책을 수행할지 여부를 결정합니다. 기본값은 y입니다.
conf-dir은 server-root /proxy-serverid/config 디렉토리에 있는 프록시 인스턴스의 구성 디렉토리입니다.