ฉันจะส่งไฟล์ไปยังเซิร์ฟเวอร์ FTP ด้วยสคริปต์โดยอัตโนมัติได้อย่างไร


9

ฉันต้องสร้างสคริปต์ที่ใช้ไฟล์บันทึกเฉพาะ/var/log/และวางไว้ที่ไหนสักแห่งที่ฉันสามารถหาได้ง่าย (ส่วนใหญ่เป็นเว็บหรือเซิร์ฟเวอร์ FTP ที่ฉันสามารถเข้าถึงได้) ฉันไม่คิดว่าฉันต้องการใช้เมลเพื่อส่ง Webdav อาจเป็นตัวเลือก เพียงแค่ต้องทำงานโดยไม่ต้องมีการโต้ตอบกับผู้ใช้และรวดเร็วและไม่เจ็บปวด ข้อเสนอแนะใด ๆ (ไม่ต้องใช้รหัสผ่านโดยทั่วไป)

คำตอบ:


12
  • ล็อกไฟล์/var/logมักอ่านได้ทั่วโลกและไม่ต้องใช้รหัสผ่านในการเข้าถึง
  • หากคุณมีเซิร์ฟเวอร์ FTP อยู่แล้ว - อาจเป็นแบ็คเอนด์ไปยังเว็บเซิร์ฟเวอร์ด้วย - IMO ตัวเลือกที่ง่ายที่สุดคือใช้wputยูทิลิตี้นี้
    • ติดตั้งด้วยsudo apt-get install wputหากจำเป็น
    • ไวยากรณ์คือ:
      wput [options] [file] ... [url] ...
    • โดยที่ URL นั้นอยู่ในรูปแบบ:
      ftp: // [ชื่อผู้ใช้ [: รหัสผ่าน] @] ชื่อโฮสต์ [: พอร์ต] [/ [เส้นทาง /] [ไฟล์]]
  • ตัวอย่าง:

    wput / var / log / syslog ftp: // jack: salty@ftp.website.com/www/mylogs/ 
    
  • ใช้-uตัวเลือกเพื่อบังคับให้อัพโหลดเมื่อมีไฟล์ปลายทางอยู่แล้ว

  • ดูwput --helpหรือman wputตัวเลือกอื่น ๆ อีกมากมาย

หมายเหตุ: การใส่รหัสผ่านเป็นข้อความธรรมดาในตัวอย่างด้านบนนั้นไม่ปลอดภัยอย่างยิ่ง ฉันขอแนะนำอย่างยิ่งให้สร้างบัญชี FTP ที่ถูก จำกัด บนเซิร์ฟเวอร์ซึ่งอนุญาตให้อัปโหลดไปยังไดเรกทอรีพิเศษที่คุณสร้างขึ้นเพื่อดาวน์โหลด / ดูบันทึกเท่านั้น


สวัสดีขอบคุณมากสำหรับสิ่งนี้เป็นสิ่งที่ฉันต้องการฉันรู้ว่ามันเป็นเธรดเก่า แต่ฉันมีปัญหากับไดเรกทอรี เมื่อฉันใช้ wput บนเซิร์ฟเวอร์ระยะไกลมันมักจะสร้างไดเรคทอรีทรีไปยังไฟล์ปลายทางเป็นไปได้หรือไม่ที่จะคัดลอกไฟล์โดยไม่ต้องสร้างทรีไดเรกทอรีทั้งหมดบนรีโมต?
Aleksandar Đorđević

0

อีกคำสั่งที่มีประโยชน์และปลอดภัยที่คุณสามารถใช้ได้คือscpคำสั่งที่ใช้ ssh เพื่อคัดลอกไฟล์ไปมา

ในการใช้สิ่งนี้คุณสามารถใช้ม้าน้ำเพื่อสร้างคู่คีย์ ssh และคัดลอกส่วนสาธารณะของคีย์ไปที่ ~ / .ssh / คุณไม่ควรป้องกันรหัสผ่านที่คุณใช้ด้วยรหัสผ่านเนื่องจากคุณไม่ต้องการลงชื่อเข้าใช้เพื่อใช้งาน คุณควรใช้คู่รหัสผ่านที่คุณใช้สำหรับสคริปต์นี้เท่านั้น คุณใช้ตัวเลือก scp -i เพื่อเลือก

รหัสส่วนตัวจะเข้าแทนที่รหัสผ่านธรรมดา

ฉันคิดว่าคุณสามารถเรียกใช้สคริปต์ใน crontab ของคุณได้ถ้าต้องการ

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

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