ซิงค์กับรายชื่อไดเรกทอรีของเว็บเซิร์ฟเวอร์


14

มีวิธีง่ายๆในการทำให้โฟลเดอร์ซิงค์กับรายชื่อไดเรกทอรีผ่าน HTTP หรือไม่?

แก้ไข :

ขอบคุณสำหรับเคล็ดลับด้วย wget! ฉันสร้างเชลล์สคริปต์และเพิ่มเป็นงาน cron:

remote_dirs=( "http://example.com/" "…") # Add your remote HTTP directories here
local_dirs=(  "~/examplecom" "…")

for (( i = 0 ; i < ${#local_dirs[@]} ; i++ )) do
cd "${local_dirs[$i]}"
wget -r -l1 --no-parent -A "*.pdf" -nd -nc ${remote_dirs[$i]}
done

# Explanation:
# -r            to download recursively
# -l1           to include only one directory depth
# --no-parent   to exclude parent directories
# -A "*.pdf"    to accept only .pdf files
# -nd           to prevent wget to create directories for everything
# -N            to make wget to download only new files

แก้ไข 2: ตามที่ระบุไว้ดังต่อไปนี้หนึ่งยังสามารถใช้--mirror( -m) -r -Nซึ่งเป็นชวเลขสำหรับ


ดีใจที่มันช่วย คุณยอมรับคำตอบที่คุณรู้สึกว่าช่วยได้ดีที่สุดหรือไม่
George M

คำตอบ:


16

wget เป็นเครื่องมือที่ยอดเยี่ยม

ใช้ wget -m http://somesite.com/directory

-m
--mirror
    Turn on options suitable for mirroring.  This option turns on
    recursion and time-stamping, sets infinite recursion depth and
    keeps FTP directory listings.  It is currently equivalent to 
    -r -N -l inf --no-remove-listing.

7

ชอบ rsync แต่ใช้zsyncเพื่อรับจากเซิร์ฟเวอร์ httpd


มีเอกสารไม่มากสำหรับ zsync บนอินเทอร์เน็ต มันจะดีจริงๆถ้าคุณสามารถอธิบายคำตอบของคุณได้อย่างละเอียด ขอขอบคุณ.
Behrooz

3
Behrooz - ฉันใช้จริงlftpและmirrorคำสั่งตอนนี้แทน
gogators
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.