검색결과 리스트
ftp에 해당되는 글 1건
- 2008.11.18 Shell Scriptor, ftp, crontab를 이용한 파일 전송 관리.
글
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
일을 하다보면,
날짜별, 시간별로 쌓이는 Log들을 특정 서버에
전송 해야 하는 경우가 생긴다.
이것을 일일이 사람이 하기는 무척 짜증이 나는 일이다.
그러다보니 인간이란게 본래 편한것을 찾게 된다고
어떻게 좀 편하게 알아서 하도록 할수 없을까? 고민을 많이 했었다.
그러다 찾은 방법이 Shell Scriptor와 ftp를 적절히 조합하여 이용하면 될 듯하여
시간 내어서 만들어 봤다.
역시 사람은 머리를 서야 몸이 편하다.
예제..
#!/bin/sh
# MYHOME : 계정 디렉토리
MYHOME=/home/arhemian
# SBIN_DIR : 이 쉘스크립트가 저장된 디렉토리
SBIN_DIR=${MYHOME}/sbin
# LOG_DIR : 전송할 로그파일이 쌓이는 디렉토리
LOG_DIR=${MYHOME}/log/
# ftp_script_file : ftp를 편하기 쓰기 위해 사용할 명령을 저장한 스크립트 파일
ftp_script_file=${SBIN_DIR}/ftpscript.pcl
# USER, PASSWD : ftp로 접속할 시스템의 계정 및 패스워드
USER=arhemian
PASSWD=12345678
# TARGETIP, TARGETDIR : ftp로 접속할 시스템의 IP주소 및 접속후 파일을 전송할 디렉토리
TARGETIP=192.168.1.100
TARGETDIR=log
# CUR_DATE : 전송하는 현제 날짜를 YYYYMMDD 형태로 저장 (20081118)
CUR_DATE=`date +%Y%m%d`
# 기존에 ftp_script_file이 존재하면 삭제
if [ -r $ftp_script_file ]
then
rm -rf $ftp_script_file
fi
# ftp_script_file을 생성
# ftp_script_file의 내용은 ftp접속후 계정 패스워드를 입력 후
# 타겟 디렉토리에 오늘 날짜로 디렉토리를 생성 후 그곳에
# LOG파일을 전송하도록 되어 있음
cat > $ftp_script_file << FTPSCRIPT_EOF
user ${USER} ${PASSWD}
lcd ${LOG_DIR}
bin
prompt
cd ${TARGETDIR}
mkdir ${CUR_DATE}
cd ${CUR_DATE}
mput *.log
bye
FTPSCRIPT_EOF
# FTP 접속 및 전송
echo "target system : ${USER}, ${TARGETIP}"
ftp -n ${TARGETIP} < ${ftp_script_file}
# 생성된 ftp_script_file 삭제
rm -rf $ftp_script_file
|
위의 예제를 crontab에 등록하여 쓰면 매 일정 시간 마다 알아서 척척척 ㅋㅋ
crontab 사용법은 생략하게다. 다른곳에 자세히 설명된 곳들을 찾아볼것!
사용을 할때는 상황에 맞게 수정을 하면 된다.
이 예제도 쓰고 있는 것에서 중요한 부분만 때어다가 만든거라.....
안맞는 부분이 있을수도 쿨럭!
사실 나는 crontab으로도 쓰지만 간 혹 필요에따라
C코드(데몬프로그램 등)에 추가하여 일정 시간 때마다
scriptor를 동작하도록 쓰고있다.
큰 단점이 있는데 (주의 요망)
타겟의 passwd가 공개가 된다는 점!!!! (C code에서 사용한다면 passwd 같은 경우는
C 코드 내부에서 불러다 쓰면 되므로 문제가 안된다)
뭐 이정도야 몸이 편한것에 대한 대가(?)로 크게 신경 쓸 일은 아니라고 본다.
RECENT COMMENT