2016-12-17 1 views
-1

bash 스크립트에서 wget 명령을 실행하고 있으며 모든 것이 잘되었다고 말하면서 파일을 찾을 수 없습니다!다운로드 후 wget cant 파일 파일 - IPV6 전용 데비안 서버

내가 디렉토리 구조과 같이 있습니다

/home/foo/.x/.y 

/home/foo/.x에, 나는 내용으로, bash는 스크립트 xy.sh 있습니다

#!/bin/bash 

cd /home/foo/.x/.y 
echo "Start job at: $(date)" >> /home/foo/.log.log 
URL1="http://xyz1.com/11.csv.zip" 
URL2="http://xyz2.com/111.csv.zip" 
URL3="http://xyz3.com/1111.csv.zip" 
URL4="http://xyz4.com/11111.csv.zip" 
URL5="http://xyz5.com/111111.csv.zip" 
URL6="http://xyz6.com/1111111.csv.zip" 
URL7="http://xyz7.com/11111111.zip" 
wget -q "${URL1}" 
echo " job 1 done: $(date)" >> /home/foo/.log.log 
wget -q "${URL2}" 
echo "job 2 done at: $(date)" >> /home/foo/.log.log 
wget -q "${URL3}" 
echo " job 3 done at: $(date)" >> /home/foo/.log.log 
wget -q "${URL4}" 
echo " job 4 done at: $(date)" >> /home/foo/.log.log 
wget -q "${URL5}" 
echo " job 5 done at: $(date)" >> /home/foo/.log.log 
wget -q "${URL6}" 
echo " job 6 done at: $(date)" >> /home/foo/.log.log 
wget -q "${URL7}" 
echo "End job at: $(date)" >> /home/foo/.log.log 
exit 0 

로그가 파일을 다운로드하지만 한 표시 파일을 찾을 수 없습니다 /home/foo/.x/.y

추신 : 내가 파일을 다운로드 할 때 wget 정상적으로 (없이 bash scriptin 파일이 잘 다운로드) g ..

참고

: 스크립트에서 서버가 IPV6 전용 서버입니다 ..

+0

왜 wget에 -O 옵션을 사용하지 않고 파일이 끝나야하는지 지정하십시오. – ivanivan

답변

1

당신은 logiccal 의존하지 않고 명령 만 순서가 있습니다. 예를 들어 URL1을 검색 한 후에 wget이 실패하더라도 메시지가 표시됩니다. 이와

wget -q "${URL1}" 
echo " job 1 done: $(date)" >> /home/foo/.log.log 

: 이 교체하려고

wget -q "${URL1}" \ 
    && echo " job 1 done: $(date)" >> /home/foo/.log.log \ 
    || echo " job 1 Failed $(date)" >> /home/foo/.log.log \ 

은 "& &"와 "||" 조건 적으로 "echo"명령을 실행하는 데 사용됩니다. wget이 성공하면 "done", 그렇지 않으면 "failed". wget에 "-q"옵션을 사용했기 때문에 왜 실패하는지 알 수 없으므로 실패를 알기 전까지 출력을 볼 수 있도록 '-q'를 제거하는 것이 좋습니다.

wget "${URL1}" >> /home/foo/.log.log 2>&1 \ 
    && echo " job 1 done: $(date)" >> /home/foo/.log.log \ 
    || echo " job 1 Failed $(date)" >> /home/foo/.log.log \ 

모든 정보가 로그에 저장됩니다.

+0

나는 이것을 지금 시도 할 것이지만, 왜 wget이'job'을하고 있는지 이해하지 못한다. (나는 로그에서 이것을 알고있다.) 파일을 저장하지는 않는다. 이것은 매우 이상합니다! – JohnJ

+0

wget이 작동하면'/ home/foo/.x/.y' 디렉토리에 파일이 있어야합니다. wget이 작동하지 않으면 로그에 어떤 이유가 있어야합니다. – czvtools

+0

당신의 문제 해결이 정확했다 .. 단지 다운로드되지 않습니다 .. 내 VPS는 IPv6 전용 서버입니다. 이것이 다운로드에 영향을 줍니까? – JohnJ

0

/home/foo/.x/.y가 있습니까?

wget에서 -q 옵션을 제거하면 어떻게됩니까?

문제 해결을 위해 #!/bin/bash 설정 아래에 "set -ueo"를 추가하는 것이 좋습니다. 이렇게하면 문제가있는 위치를 훨씬 명확하게 알 수 있습니다.