การสะท้อนแสง LFTP ทุกเวลา


0

วิธีการทำให้ lftp ทำงานในพื้นหลังตลอดเวลาและผลักดันการเปลี่ยนแปลงใด ๆ ที่เกิดขึ้นกับโฟลเดอร์ในเครื่องไปยังโฟลเดอร์บนเซิร์ฟเวอร์ระยะไกล คำสั่ง reverse mirror ปกติไม่ทำงานตลอดเวลาและเฉพาะกับการเปลี่ยนแปลง โดยทั่วไปฉันต้องการให้โฟลเดอร์ทั้งสองซิงค์กันอยู่ ขอบคุณ


คุณคิดว่าจะใช้งานผ่าน cron หรือไม่? หรือจะใช้ rsync เพื่อลดทราฟฟิก?
Romeo Ninov

cron ทำอย่างไร rsync ด้วยเช่นกันจะไม่ทำงานกับ ftp
Jatin Luthra

คุณสามารถ tunnel rsync ผ่าน ssh คุณสามารถตั้งค่าในสคริปต์ cron ซึ่งเรียกใช้ lftp (เช่นทุก ๆ 5 นาที) และคำสั่ง exec เพื่ออัพโหลดไฟล์ / ไดเรกทอรี
Romeo Ninov

คุณสามารถโพสต์รหัสหรือลิงค์ได้หรือไม่?
Jatin Luthra

นี่คือตัวอย่างคำสั่ง rsync ผ่าน ssh local dir ไปยัง remote dir: rsync -avz -e ssh / local / path user @ remote-host: / remote / path
Romeo Ninov

คำตอบ:


0

ใช้ฟังก์ชั่นกระจกและ cron เพื่อเรียกมันซ้ำ ๆ

ใส่สิ่งนี้ไว้ในสคริปต์ (e.G ~/push_to_server.sh ):

cd [PATH_THAT_YOU_WANT_TO_COPY]
lftp -c "open [HOST] -u [USER],[PASSWORD]; mirror -R [PATH_ON_SERVER]"

คุณต้องการค้นหาฟังก์ชัน '-e' และ '-P' ของ lftp mirror ในคู่มือของคุณ ( man lftp ) และอาจใช้ร่วมกับ -R.

ตอนนี้คุณเปิดใช้งานสคริปต์ทุก ๆ สองสามนาทีด้วย cron วิ่ง crontab -e และเพิ่ม:

*/5 * * * * ~/push_to_server.sh

ที่จะเริ่มต้นสคริปต์ทุก 5 นาที (โปรดอ่าน man 5 crontab เพื่อทำความเข้าใจกับสิ่งที่ 5 และดอกจันจริง ๆ แล้วทำอะไรก่อนเปลี่ยนแปลง) ให้แน่ใจว่าได้ชี้ไปที่เส้นทางที่แท้จริงของสคริปต์ในกรณีที่คุณย้ายหรือเรียกใช้ crontab ในฐานะผู้ใช้อื่น

หากการซิงค์ ftp ของคุณใช้เวลานานกว่า 5 นาที (ในช่วงเวลาเร่งด่วน) คุณจะต้องเปลี่ยน cron อ่าน man 5 crontab เพื่อเรียนรู้วิธีการทำ

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