최근에 나름 큼맘먹고 나름 고성능의 공유기를 구입해서..
잡다한 서버 기능을 odroid 계발 보드에서 공유기로 옮기고 있습니다.
생각했던것과 달린 준 순정 펌웨어인 멀린에서도
하는 김에 약간 재검토를 하고 있는데요.
기능하는데만 주력하여 조잡하게 쓴 스크립트들을 세련된 방식으로 작동하도록 조언을 구합니다..
첫번째 스크립트는.. 그 트렌스미션 다운로드 완료 스크립트 인데요...
다운로드 완료되면 집에 있는 NAS로 파일을 옮기고 종결 되도록 구성했습니다.
#!/bin/sh
MOVEDIR=/cifs1/Down #NAS에 있는 다운로드 폴더의 마운트 위치입니다.
SERVER="9091 --auth 아이디:패스워드" #트랜스미션 아이디랑 패스워드요..mount \\\\192.168.1.30\\nas /cifs1 -t cifs -o username=블라블라,password=비밀번호,nounix,noserverino # 일단 마운트를 시도 합니다.
if [ $? -eq 0 ]; #마운트가 성공하면
then
echo "mount Succes" #디버그를 위해서 마운트 성공을 출력합니다.
else
mount \\\\192.168.1.30\\nas /cifs1 -t cifs -o username=블라블라,password=비밀번호,nounix,noserverino" #실패하면 또 마운트 시도합니다.
sleep 3s #3초 쉬고...
mount \\\\192.168.1.30\\nas /cifs1 -t cifs -o "username=블라블라,password=비밀번호,nounix,noserverino" #또 마운트 시도 합니다..
fisleep 4s #그리고 4초 쉬고
transmission-remote $SERVER -t $TR_TORRENT_ID --move /cifs1/Down #완료된 파일을 나스의 다운로드 폴더로 옮겨주고.
transmission-remote $SERVER --torrent $TR_TORRENT_ID --remove #토렌트 작업은 지워 줍니다..
umount /cifs1 #그리고 나스의 폴더를 마운트 해제 해 줍니다..if [ $? -eq 0 ]; #마운트 해제가 실패하면...
thenelse
sleep 5
umount /cifs1 #5초 쉬었다가 다시 시도합니다..
fi
nas가 주로 s3 절전모드에 있기 때문에 마운트 시도에 즉각 반응하지 않는 경우가 있는게 거기에 대한 대응을 그냥 몇초 있다가 다시 시도 하는것으로 때우고 있습니다..
마운트 해제도 '볼륨이 바쁩니다' 에 대한 대책으로 그냥 기다렸다가 다시 시도하는 방법으로 대응하고 있는데요....
다른분들께 좀더 세련되고 적당한 예외 처리를 하는 요령이라던가 들어 보고 싶어서요....
두번째는 스크립트라기 보다는 일종의 방법 자체에 대해서 좀더 세련된 구현을 질문 드립니다..
앞서 이야기 드렸다 시피 NAS를 주로 s3 sleep 상태에 두고 있습니다.
그러다 보니 잠자기에 들어간 후 시간이 지나면 윈도우즈 클라이언트의 '네트워크' 검색에서 사라집니다.
저는 이 부분이 마음에 들지 않았기 때문에 항상 켜저있는 장치가 대신 이걸 브로드케스트 해 주도록 만들고 싶었습니다.
처음엔 실질적으로 모사하는 데몬을 만들어서 돌릴까 했는데 SAMBA를 비롯해서 'netbios'로 통신하는 클라이언트 들은
서로서로 캐시를 유지하면서 다른 컴퓨터의 이름도 전파를 하더라고요...
다만 일정 시간 구성원이 자신을 알리지 않으면 캐시에서 지워 버리고요... 그래서
#!/bin/sh
IsJnasIn="false"
while read line; do
#echo $lineif echo "$line" | grep 'JNAS';then
#echo "있어요...."
IsJnasIn="true"
fi
done < /tmp/var/lock/browse.datif [ "$IsJnasIn" = "false" ]; then
echo "\"JNAS\" 40011003 \"\" \"WORKGROUP\"" >> /tmp/var/lock/browse.dat
#echo "없어요...."
fi
이걸 크론탭으로 1분마다 돌려서 캐시 파일인 browse.dat 에 꾸준히 존재하길 원하는 이름을 쑤셔 박도록 하고 있습니다.
일단 원하는 대로 작동은 합니다만.. 뭔가 깔끔하지 못한 느낌이라...
samba 기본설정 에서 어떻게 해결하는 방법이나 요렇게 1분마다 반복되지 않아도 되는 방법 있을까요?
Àúµµ ½ÇÁ¦·Î ±¸¼ºÇØ º»ÀûÀº ¾ø¾î¼...