배쉬쉘 질문드립니다.
글쓴이: konoki / 작성시간: 월, 2016/10/17 - 7:59오후
/bin/cat ${LOG}/${I}_${DATE} | while read LINE do FILE=`echo $LINE` cd ${DIR}/${I} TEXT=`file ${FILE} | grep -i "ascii text" | awk '{ print $2 }'` sleep 1 if [ ${TEXT} ]; then ftp -n ${IP} << EOF user ${USER} ascii prompt off cd ${PT_DIR} put ${FILE} close EOF echo ${FILE} >> ${LOG}/${I}_Mailmsg_${DATE} fi mv ${DIR}/${I}/${FILE} ${DIR}/${I}/BACKUP/ done </bash> 다음과 같이 사용하고 있는 스크립트가 있는데 ftp를 한방에 다 올리고 싶은데 보시다시피 파일명 하나를 가져와서 ascii인지 확인하고 보내는 식이다보니 1개씩밖에 못보내는 로직입니다. 어떻게 수정하면 될까여;;
Forums:
먼저 루프를 돌면서 transfer 할 파일들을
먼저 루프를 돌면서 transfer 할 파일들을 임시디렉토리에 옮겨놓고,
루프 밖에서 ftp를 할때,
lcd 로 그 디렉토리로 옮겨가서 mput * 로 하면 될 듯..
물론 그보다는 ftp 대신 scp 나 rsync를 쓰는게 맞겠습니다만..
FTP사용법
FTP사용법좀 알려주세여 옵션값들이 잘모르겟는데;
어디에 put을 하는건지 각 옵션들이 정확히 이해가 안됩니다.
음..
소스 내용 순서만 조금 바꾸고 MPUT 만 추가 했습니다.
원래 동작하는 소스인지는 모르겠지만 크게 이상이 없는 경우 사용 가능할 것 같네요.
그리고 왜 굳이 ftp를 고집하는지 모르겠지만 댓글 주신 다른 분들 의견 들으시는 게 먼 훗날 생각했을 때 좋을 겁니다.
소곤소곤
음 ..
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
???
이게먼가여?설명좀 해주세요 ㅠ
음 ..
list.txt 에 들어 있는 파일목록에서 텍스트 파일만 골라서 scp 로 다른 서버에 복사하는 예제입니다.
마찬가지로 텍스트 파일만 백업 디렉토리로 모두 mv 할 수도 있죠.
ssh 에 authorized_keys 를 생성하거나, sshpass 를 쓰면 별도로 password 입력 없이 처리할 수 있습니다.
원래 코드에서는 파일명과 실제 경로가 다르기 때문에, 아래와 같이 파일명에 경로를 추가해 주도록 바꾸면 되겠네요.
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
ㅜㅜ
ftp로해서 파일을 put하는데
1개씩 파일만 되게 되있어여 지금 왜냐하면 반복문에서 1개씩 필터되서 아스키 형식인 파일만 걸러서
그 파일만을 처리하기때문에 m_put으로 처리하고 싶은데 어떻게 해야될까여
ftp 명령으로는 불편하니까 더 쉬운 다른 방법으로
ftp 명령으로는 불편하니까 더 쉬운 다른 방법으로 하라고 알려 주시는 겁니다. scp나 rsync 같은 것을 이용하시는 것이 더 쉽고 편하다는..
scp
scp를 이용하면 패스워드 입력을 매번 눌러주지 않게도 되는건가여?
댓글 달기