หน้าเว็บ

วันอังคารที่ 4 มกราคม พ.ศ. 2554

วิธี FTP แต่ไม่เอา (exclude) บาง folder

มีรุ่นน้องถามมาว่าถ้าอยาก FTP เอาไฟล์แต่ว่าไม่อยากเอาโฟลเดอร์ที่มีชื่อบางอย่าง เช่น โฟลเดอร์ .svn ที่มีอยู่ในทุกๆโฟลเดอร์ย่อยมาด้วยจะทำยังไง

จริงๆก็คงทำได้หลายวิธี แต่วิธีที่ผมชอบสุดคงเป็น wget ครับ

wget -r ftp://url/folder --exclude-directories="*/foldername"


เช่น ถ้าต้องการ copy ตั้งแต่โฟลเดอร์ xyz ลงไปทั้งหมด แต่ไม่เอาโฟลเดอร์ .svn ก็ทำดังนี้

wget -r ftp://abc.com/xyz --exclude-directories="*/.svn"


ในกรณีที่ต้องมี username, password ก็ให้ execute command สำหรับการ log in ไปก่อน ดังนี้

wget --execute "login=username" --execute "passwd=password" -r ftp://abc.com/xyz --exclude-directories="*/.svn"

จริงๆพวก username, password ใส่ไว้รวมกับ ftp://username:password@abc.com/xyz เลยก็ได้ แต่จะมีปัญหาถ้า username มี special character เช่น เครื่องหมาย "@"

ระบบที่ทดสอบ
OS: Ubuntu 10.10

อ้างอิง
http://www.gnu.org/software/wget/manual/wget.html

วันอังคารที่ 27 ตุลาคม พ.ศ. 2552

ดาวน์โหลดทั้งเวบเพื่อทำ Offline Browsing บน linux

ในกรณีที่เราต้องการดาวน์โหลดเวบทั้งเวบมาเก็บไว้ในเครื่องเราเพื่อเปิดดูภายหลัง หรือ Offline Browsing นั้น แท้จริงแล้วไม่ต้องใช้โปรแกรมเพิ่มเติมอะไรมากเลยครับ เพียงแค่ wget ก็สามารถช่วยเราทำแบบนั้นได้ ด้วยคำสั่งดังต่อไปนี้ครับ

wget -H -r --level=1 -k -p http://yoururl.com

โดย -H หมายถึง span host คือเอา link ที่อยู่โฮสต์อื่นมาด้วย
-r หมายถึง recursive คือเอาลิงค์ที่อยู่ในระดับที่ลึกลงไปมาด้วย
--level บอกว่าจะเอาลึกลงไปกี่ชั้น
-k คือสั่งให้แปลงลิงค์ที่ชี้ไปยังโฮสต์อื่น(โฮสต์จริง) เป็นลิงค์ของโฮสต์อื่นแต่ถูกดูดมาอยู่ในเครื่องเราแล้ว
-p คือ ขอทุกๆส่วนประกอบของหน้าเวบนั้น เช่น รูปภาพ เป็นต้น

ที่มา
http://lifehacker.com/software/downloads/geek-to-live--mastering-wget-161202.php

ระบบที่ทดสอบ
OS: Ubuntu 9.04