ดาวน์โหลดหลายไฟล์จากเซิร์ฟเวอร์ ftp ด้วยสคริปต์ทุบตี


0

ฉันมีเซิร์ฟเวอร์ FTP 2 หรือ 3 ตัวที่ hoster ของเราทำการสำรองฐานข้อมูลในแต่ละวัน เนื่องจากเขาเก็บไว้เพียงอันเดียวฉันถูกสั่งให้เขียนสคริปต์ทุบตีเพื่อดาวน์โหลดสำเนาสำรองฐานข้อมูลทุกวันดังนั้นเราจึงมีข้อมูลสำรองมากกว่าหนึ่งวัน

ฉันพยายามทำให้มันใช้งานได้กับคำสั่ง ftp แต่ดูเหมือนว่าฉันจะไม่สามารถดาวน์โหลดไดเร็กตอรี่ที่สมบูรณ์ได้ฉันคิดว่าฉันสามารถใช้กับลูป for ได้ แต่นั่นจะไม่ทำงานกับคำสั่ง ftp และฉันก็จะสิ้นสุด ข้อผิดพลาดไฟล์

ฉันควรจะพูดว่าสามารถเชื่อมต่อผ่าน ftp บนเซิร์ฟเวอร์เท่านั้น ไม่มีการเข้าถึง SSH หรืออย่างอื่น!

ในขณะนี้ฉันมีสิ่งนี้:

echo "Download all the database backups from honds ftp-servers"

SERVERS="ftp.srv1.de ftp.srv2.de"

#for SERVER in $SERVERS; do
    ftp -in ftp://user:pw@ftp.srv1.de << EOF
    binary
    get Datenbankbackup
EOF
bash  backup  ftp 

เป็นความคิดที่ดี แต่ฉันไม่สามารถเข้าถึงผ่าน ssh ไปยังเซิร์ฟเวอร์ ftp ได้ ฉันสามารถเชื่อมต่อผ่านคำสั่ง ftp หรือไคลเอนต์ ftp อื่น ๆ เท่านั้น และผ่านคำสั่ง ftp ฉันไม่สามารถ tar ไฟล์ได้

ใช่ฉันลืมไปแล้ว ฉันแก้ไขมันแล้ว

คุณกำลังพยายามแก้ไขปัญหาที่ผิด แทนที่จะพยายามให้ไคลเอนต์ FTP พื้นฐานทำสิ่งที่คุณต้องการ ใช้ลูกค้าที่เหมาะสม .
Daniel B

คำตอบ:


1

คุณสามารถ cd ลงในไดเรกทอรีแล้วใช้ mget คำสั่งเพื่อรับไฟล์ทั้งหมดในไดเรกทอรีนั้น:

ftp -in ftp://user:pw@ftp.srv1.de << EOF
    binary
    cd Datenbankbackup
    mget *
EOF

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