FTP 자동 다운로드 Shell 스트립트

#!/bin/bash
#[ 오늘 날짜 얻기 20080529]
TODAY=`date +%Y%m%d`

TARGET_IP=116.127.120.133
USER_ID=xxxx
USER_PASS=xxxxx
TARGET_FILE=$TODAY".log"
TARGET_DIR=/log

# [Download 받을 파일명 확인 ]
echo $TARGET_FILE" Download!"
cd ./

#[ Ftp 연결하기 ]
ftp -n $TARGET_IP << EOF
user $USER_ID $USER_PASS
binary
hash
cd $TARGET_DIR
cd ./
get $TARGET_FILE
bye
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2008/07/24 11:13 2008/07/24 11:13
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/3482

wget 사용법

1. Introduction

가끔씩 이 홈페이지는 자주 참고하는데 이를 내 컴퓨터에 옮겨놓고 싶다고 생각되는 경우가 있나? 이때 사용 할 수 있는 것이 바로 지금 소개하는 'wget'이다.하는 일은 MS 윈도우즈의 'Teleport Pro'라는 것과 비슷하다. 이 wget은 한텀상에서 커맨드라인으로 사용하는 것이다.

이 프로그램은 http://www.gun.org/software/wget/wget.html 에서 구할수 있다.

2. 설치(일반적으로 리눅스에는 거의 기본으로 깔려 있음)

#tar xvzf wget-5.3.1.tar.gz
#./configure
#make install

이라 하면 wget-5.3.1/src 디렉토리 내에 'wget'이라는 실행파일이 만들어 진다. 패스가 열려있는 디렉토리에 심볼릭 링크를 만들던가 쉘 스크립트를 만들어 넣어두면 어느 디렉토리에서도 이것을 실행시킬 수 있다.

3. 사용법

#wget -h 또는 # man wget

하면 좀더 많은 설명을 볼수 있다. 먼저 예를 들어서 홈페이지 www.ihelpers.co.kr을 복사해 온다고 하면

#wget http://www.ihelpers.co.kr/index.html

이라고 명령하면 된다. 'http://"는 생략해도 되고, 'index.html' 부분도 생략하면 알아서 'index.html' 또는 'index.htm'을 찾으므로

#wget www.ihelpers.co.kr/

라고 해도된다. 그러면 명령을 내린 현재 디렉토리에 'index.html'을 복사한다. 자 그러면 index.html에 링크 되어 있는 것까지 찾아오려면 어떻게 할까?

-r 이란 옵션을 사용한다.

#wget -r www.ihelpers.co.kr/

이렇게 사용한다. 'r'은 '재귀적'을 의미하는 'recursive'의 줄임이다. 디렉토리 구조와 파일을 그대로 복사해 온다.

재귀적 탐색의 깊이 레벨은 기본값이 '5'로 되어 있다. '-l depth' 옵션을 사용하면 바꿀수 있다. 그러니까 기본값은 '-l 5' 란 이야기다. 이 레벨이 증가함에 따라 복사해오는 파일은 지수 함수적으로 증가하게 된다.

만약 홈페이지 전체가 아니라 특정 페이지와 링크되어 있는 것만 받아 오려면 어떻게 할까? 예를 들어

#wget -r www.ihelpers.co.kr/doc/lecture/lecture.html

이라고 하면 'lecture.html'과 이것에 링크된 파일들을 복사해 오게 된다. 이 과정에서 링크된 파일 중 상위 디렉토리에 있는 것도 있는데, 이것들은 빼고 원하는 파일이 있는 디렉토리와 그 이하에서만 받아 오려면

#wget -r -np www.ihelpers.co.kr/doc/lecture/lecture.html

이렇게 '-np' 옵션을 사용한다. 'np'는 'no-parent'를 의미한다.

자, 홈페이지에서 그림이나 오디오파일 등은 빼고 HTML 문서만 복사해오려고 한다면

#wget -r -np -A html, htm www.ihelpers.co.kr/

처럼 -'A'옵션을 사용한다. 'A'는 'accept'를 의미한다. 위의 예처럼 원하는 파일의 형식을 나열하면된다. 반대로 일부 파일을 제외하고 싶으면 '-R'옵션을 사용한다. 'R'은 'reject'를 의미한다. 예를 들어

#wget -r -R gif,jpg,jpeg www.ihelpers.co.kr/

라고 하면 파일의 뒷부분의 문자열이 'gif', 'jpg', 'jpeg'인 파일들은 제외하고 나머지 파일들만 불러 온다.

'-L'옵션을 사용하면 상대주소를 이용한 링크들만 불러온다. 다른 호스트에 있는 자료는 당연히 불러오지 않는다. 그런데 대부분의 HTML 내의 링크는 상대주소를 이용할 것으로 생각되기 때문에 크게 중요하지는 않을 것 같다. 'L'은 'leLative'를 의미한다. 아래의 예처럼 사용할 수 있다.

#wget -r -L www.ihelpers.co.kr/

만약 다른 호스트의 자료까지 재귀적 탐색에 넣으려면 'H'옵션을 쓴다. 이는 'span-hosts'를 의미한다.

wget을 실행시켜 보면 메세지가 장황하게 나온다. 메세지를 전혀 나오지 않게 하려면 'quiet'를 의미하는 '-q'옵션을 조금만 나오게 하려면 'non-verbose'를 의미하는 '-nv'옵션을 사용해라

wget은 파일을 불러올 때 컴퓨터 내에 같은 이름의 파일이 존재하면 기존의 파일은 그대로 두고 기존의 이름의 끝에 'roiginal.file.1', 'original.file.2', 이런 식으로 숫자를 붙인 이름으로 복사한다. 만약, 같은 이름이, 파일이 있을 경우 복사해 오지 않게 하려면 'not-clobber'를 위미하는 '-nc' 옵션을 사용하면 된다.

매번 같은 옵션을 커맨드라인에서 사용하기는 번거로울 것이다. 자신의 홈디렉토리에다 '.wgetrc'라는 파일을 만들고 필요한 옵션들을 기록하면 매번 옵션을 주지 않아도 된다.

예를 들면,

accept = htm, html 원하는 파일의 형식을 나열
#reject = 배제하기를 원하는 파일의 형식을 나열
recursive = on 재귀적 탐색 여부
#reclevel = 5 재귀적 탐색의 깊이 레벨
no_parent = on 상위 디렉토리의 파일 배제의 여부
#relative_only = on 상대주소만 포함시킬 것인지의 여부
#verbose = on/off 자세한 설명을 표시할 것인지의 여부
span_host = on/off 다른 호스트도 탐색할 것인지의 여부
#noclobber = on/off 같은 이름의 파일을 복사해 오지 않을 것인지의 여부
#quiet = on/off 메세지를 전혀 보내지 않을 것인지의 여부
4. discussion(토론)

위에서 설명한 옵션을 잘 활용하면 홈페이지에 갱신되는 내용을 웹브라우저로 접근하지 않고서도 가져올 수 있다. 예를 들어, 만약 내가 잘 가는 무료 porn 사이트에 링크된 url에 올려져 있는 동영상을 보고 싶다고 하자. 다음과 같이 wget 명령을 사용한다.

#wget -A mpg, mpeg, avi, asf -r -H -l 2 -nd -t 1 http://url.you.like

-A, -r, -H는 위에서 설명을 했고, 설명이 안된 옵션을 살펴보면
-l 2 : Recursive depth. 재귀 검색의 깊이 레벨을 지정해 준다. 2로 지정해 주면, 메인 페이지에서 url을 따라가고 그 url에 링크된 비디오 파일을 가져오도록 한다.
-nd : No directoryes. 로칼에 다운받을 때 디렉토리를 생성하지 않고 모든 파일을 같은 디렉토리 안에 넣는다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2008/07/24 09:25 2008/07/24 09:25
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/3481

Mashup - 메쉬업

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2008/07/22 21:33 2008/07/22 21:33
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/3474

MAC address 찾는 방법

"실행" 에서 "cmd" 입력해서 도스창을 뛰운다.

명령어 입력란에 ipconfig/all 을 입력하면

Physical Address 가 나오는데 이것이 MAC 이다.

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2008/07/21 20:22 2008/07/21 20:22
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/3470

asp에서 excel 읽어들이기

asp에서 excel 읽어들이기

[SOURCE DOWNLOAD]

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2008/07/18 17:57 2008/07/18 17:57
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/3466

http://whatismyip.com/

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2008/07/08 14:17 2008/07/08 14:17
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/3441

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2008/07/04 16:46 2008/07/04 16:46
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/3433

[MySql] mysql 클라이언트 사용법

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2008/07/04 16:46 2008/07/04 16:46
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/3432

[MySql] mysqldump로 백업하기

mysqldump는 MySQL 백업 프로그램 이며 이는 MySQL에서 MySQL뿐만 아니라
다른 이기종 간의 SQL전달할때 역시 사용된다.

그리고 MySQL의 버전간 이동에도 유용하게 사용된다.

만약 단순히 백업 용도로 사용하기를 원한다면 mysqldump보다는 mysqlhotcopy가
보다 빠른 백업과 복원을 해준다 .

물론 백업 데이터를 어떻게 사용하느나에 따라 mysqldump가 보다 더유용하게 사용되기도하지만
이는 백업 사용 방법에따라 직접 결정해야한다.



1. mysqldump의 사용법에 대해 알아보자.

사용방법은 간단하다 .

mysqldump u<사용자 계정명> -p[사용자패스워드] [option] dbname [tablename]

위와 같이 사용하며 mysqldump에서 사용되는 옵션에 대해 알아보자

--skip-extended-insert
해당옵션은 MySQL덤프를 뜨는경우 VALUES뒤에 여러 개의 데어터셋이 붙어있는 다중열 신텍스 형태로
덤프 뜨지않아 구문어서 해당라인을 찾기가 용의

--allow-keywords
MySQL예약어와 동일한 필드명이 있을경우 복원시에 에러가 발생시
이옵션을 이용하여 덤프를 받으면 테이블명와 필드명에 ``해당 기호가 삽입되어 정상적으로 인식

--complet-insert -c
완전한 인서트문을 구성한다 .
ex) insert into table_name(field1,field2) values(value1,value2)

--no-data
덤프시 데이터를 구성하지 말라는 옵션이다 .
이는 스키마 만 덤프를 받아 개발이나 구성서시 주로이용

--no-create-db
테이블 생성 쿼리를 구성하지 말라는 옵선

--quick, -q
대용량 데이타베이스를 덤프뜰때 유용
한번에 한열씩 축출하며 쓰기전에 메로리에 버퍼링을 하록 하는옵션

--xml -x
XML형태로 덤프 받을시 이용

--default-chareter-set
덤프받을시 지정하는게릭터셋으로 연결하여 덤프 받는 옵션
하지만 테이블의 언어셋을 변경하여 받아주지는않음.


실제 mysqldump의 옵션은 많지만 주로사용하는것만 기술하였다.



2. 간단한 사용법에 대해 알아보자

분명히 euc_kr 데이터가 쌓여있는데 덤프를 받으면 깨지는경우

- 이는 MySQL 서버가 다른언어셋으로 구성되어 있어 이중으로 인코딩되어
한글이나 다른언어들이 깨지는 현상이 발생한다 .
이경우는 다음고 같이 덤프 받는다.

mysqldump --default-chareter-set=euckr -u user -p dbname > dbname.sql


버전이 달라 mysql디비가 인서트가안될경우
- 메이져 버전이 다를경우 MySQL데이터베이스안의 user,db,hot등의 테이블 구조가 달라
일반적으로 덤프를든경우 정상적으로 인서트되니않는다.
이경우는 다음고 같이 덤프 받는다.

mysqldump --complet-insert -u user -p dbname > dbname.sql


예약어와 동일한 필드명 때문에 인서트가안될경우
- 필드명으로 인식하기전에 예약어로 인식하여 에러를 발생시킨다.
이경우는 다음고 같이 덤프 받는다.

mysqldump --allow-keywords -u user -p dbname > dbname.sql



보통 덤프를 받을때
mysqldump --allow-keywords --default-chareter-set=euckr --skip-opt -u user -p dbname > dbname.sql
위와 같은 형테로 받는다면 큰무리없이 복원이 가능할것이다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2008/07/04 16:40 2008/07/04 16:40
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/3431

도스 드라이브 변경 명령

만약 윈도우상에서 도스모드로 들어가셨다면

c:/windows>

요렇게 나올테죠?

요기서 a 드라이브로 이동시에는

c:/windows> a:

라구 쳐줍니다. 즉 a: 만 쳐 주변 된다는 거지요.

다른 드라이브로의 이동도 마찬가지입니다.

a, b, c, d, e, f, g ....

이러한 드라이브들두 마찬가지로 해당 앞파벳 옆에

: (콜론)을 붙여주시면 해당 드라이브로 이동하게 됩니다.


또한 도스에서 하위 디렉토리로의 이동시나

상위 디렉토리로의 이동시, cd 명령을 쳐주는데

활용법은 다음과 같습니다.

예) c:/windows> 에서 c:/> 로 이동할때


cd\ - 이것은 무조건 디렉토리의 가장 상위단계, 즉 루트로 이동을 합니다)

cd.. - 점이 두개 붙는 것은 바로 아래 단계의 디렉토리로의 이동을 말하지요.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2008/07/03 20:41 2008/07/03 20:41
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/3427

« Previous : 1 : ... 44 : 45 : 46 : 47 : 48 : 49 : 50 : 51 : 52 : ... 101 : Next »

블로그 이미지

- 홍반장

Archives

Recent Trackbacks

Calendar

«   2024/11   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Statistics Graph

Site Stats

Total hits:
244422
Today:
773
Yesterday:
776