[완료]질문:다른 시스템의 파일 존재 여부 확인하는 벙법
안녕하세요.
저에게 어려운 문제가 생겨서 도와주셨으면 합니다.
시나리오를 이용하여 말씀드리겠습니다.
우선 저는 A라는 시스템에 접속합니다.
A 시스템에서 a.csh을 실행합니다.
a.csh은 B라는 시스템에 오늘의 결과파일이 생성되면 가져와서 처리하는 shell 입니다.
여기서 제가 알고 싶은것은 shell을 이용해서 다른 시스템에 파일이 정상적으로 생성되었는지 판단하는 방법입니다.
그 판단은 파일이름과 파일크기에 의해 판단해야 합니다.
무슨 방법을 써야하는지 도와주십시오.
B라는 시스템은 telnet,ftp,ssh,sftp 등으로 접속가능합니다.
==============
이것저것 시도해 보다가 shell을 두개 사용해서 처리하는것으로 해결했습니다.
./run.csh 20070330
이런식으로 해서 확인하게 했습니다.
좀 복잡한가요???.. 에휴.. 저도 잘 하고 싶지만 아직 이정도 실력이라서요.
글 내용 봐주셔서 감사드립니다.
답글 달아주신 분들께도 대단히 감사드립니다. ^^
******* chk.csh start ********
#!/bin/csh
set SERVER_ADDRESS=
set USER_NAME=
set PASSWD=
set REMOTE_DIRECTORY=
set LOCAL_DIRECTORY=
#############################################################
### Day Change
#
set CHKDIR=$argv[1]
set CHKFIL=${CHKDIR}00
#
#############################################################
ftp -ni $SERVER_ADDRESS (( EOF # (( 는 원래 뾰죡한 꺽쇠입니다.
################################ 두개 연속쓰니까 아래부터 글이 안보이네요
user $USER_NAME $PASSWD
dir ${REMOTE_DIRECTORY}/${CHKDIR}/$CHKFIL
quit
EOF
******* chk.csh end ********
******** run.csh start *********
#!/bin/csh
### error check
#
if ($#argv != 1) then
echo "Usage: need a argument [ex: ./run.csh yyyymmdd]"
exit 1
endif
#### day auto...
set CHKDAT=$argv[1]
####
set FILINFO=`./chk.csh $CHKDAT | awk '{print $5" "$9}'`
echo $FILINFO
###
# if 파일이름과 용량조건이 맞으면
# 처리....
# else
# sleep 60
# 다시확인
# end
exit 0
#
exit 1
********** run.csh end ********************
ftp나 ssh로
ftp나 ssh로 다운받아서 보거나
ssh user@server "command" 형태로 확인할 수 있고.
NFS나 sshfs로 B서버를 마운트시켜놓고 확인하는 방법이 있습니다.
댓글 달기