การสะท้อนแสง 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.