ฉันกำลังพยายามเขียนสคริปต์เพื่อตั้งค่างาน cron เพื่อดาวน์โหลดไฟล์โดยอัตโนมัติโดยใช้ wget
. นี่คือส่วนสำคัญ:
$ wget -N --passive-ftp -P /home/myuser ftp://ftp.example.com/path/to/file.xml
--2015-10-09 09:55:03-- ftp://ftp.example.com/path/to/file.xml
=> “/home/myuser/file.xml”
Resolving ftp.example.com... 123.123.123.123
Connecting to ftp.example.com|123.123.123.123|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD (1) /path/to ... done.
==> PASV ... couldn’t connect to 123.123.123.123 port 47040: No route to host
ถ้าฉันใช้ -nv
เช่นนั้น:
$ wget -N --passive-ftp -nv -P /home/myuser ftp://ftp.example.com/path/to/file.xml
ไม่มีการพิมพ์อะไร ฉันได้แก้ไขปัญหานี้แล้วจริง ๆ (I ต้อง ใช้ --no-passive-ftp
ฉันคิดว่าด้านระยะไกล - ซึ่งฉันไม่สามารถควบคุมได้ - ไม่รองรับ FTP แบบพาสซีฟ แต่ฉันต้องการทราบว่าทำไมข้อความแสดงข้อผิดพลาดจึงไม่พิมพ์ด้วย -nv
ดังนั้นฉันจึงสามารถมีข้อความบันทึกหากมันล้มเหลวอีกครั้งด้วยเหตุผลอื่น
ฉันใช้ CentOS 6.5 สำหรับสิ่งที่คุ้มค่าด้วยรุ่น wget 1.12
สิ่งนี้ไม่ได้ซ้ำกับสิ่งนี้ เนื่องจากปัญหาของฉันคือไม่มีการพิมพ์ข้อความแสดงข้อผิดพลาด เลย กับ -nv
แม้ว่าการดาวน์โหลดจะล้มเหลว