วิธีการซิงค์เนื้อหาของโฟลเดอร์ในเครื่องโดยอัตโนมัติด้วยเนื้อหาของโฟลเดอร์ ftp


9

หลังจากค้นหาทุกที่ฉันไม่สามารถหาคำตอบเฉพาะสำหรับคำถามของฉันได้

บน Windows มีแอพพลิเคชั่นชื่อFTPboxซึ่งจะทำการซิงค์โฟลเดอร์โลคัลโดยอัตโนมัติด้วย ftp หนึ่งทุกช่วงเวลาที่กำหนด

คำถามของฉันคือฉันจะทำสิ่งเดียวกันโดยใช้ Ubuntu ได้อย่างไร สิ่งสำคัญคือที่นี่ที่ฉันไม่ต้องการต้องทำด้วยตนเอง มันจะต้องเป็นกระบวนการอัตโนมัติทั้งหมดโดยไม่จำเป็นต้องมีการแทรกแซงของมนุษย์ (เห็นได้ชัดว่าฉันจะต้องตั้งค่านี้ถ้าชั้นเรียนนั้นเป็นการแทรกแซงของมนุษย์ LOL)

ขอบคุณมากที่คาดหวังคำตอบที่เป็นประโยชน์

-Edward

คำตอบ:


16

ทางออกแรก

ติดตั้ง lftp

sudo apt-get install lftp

หลังจากนั้นสร้างสคริปต์

#!/bin/bash
HOST='mysite.com'
USER='myuser'
PASS='myuser'
TARGETFOLDER='/new'
SOURCEFOLDER='/home/myuser/backups'

lftp -f "
open $HOST
user $USER $PASS
lcd $SOURCEFOLDER
mirror --reverse --delete --verbose $SOURCEFOLDER $TARGETFOLDER
bye
"

upload.shบันทึกไว้ในสถานที่บางคนที่มีชื่อ ให้มัน+xได้รับอนุญาต

sudo chmod +x /path_to_script/upload.sh

ตั้งค่าcrontabให้เรียกใช้คำสั่งนี้ในทุกxช่วงเวลา

สำหรับการแก้ไขการรัน crontab

crontab -e

สำหรับการรันคำสั่งในทุกๆ 5 นาทีรหัสคือ

 */5 * * * * /path_to_script/upload.sh

ในทุก ๆ ชั่วโมง

 0 */1 * * * /path_to_script/upload.sh

วิ่งบนตีสี่

 0 4 * * * /path_to_script/upload.sh

แนวทางที่สอง

สร้างสคริปต์ขนาดเล็กและง่ายที่เรียกlftp-scriptว่าLFTPสามารถอ่าน:

open ftp://username:password@website.com
mirror -v --only-newer /home/local/path/ /website.com/public_html/

ในที่สุดคุณสามารถเรียกใช้LFTPและเริ่มการซิงโครไนซ์ ตั้ง crontab เหมือนฉันเขียน แต่ใส่คำสั่ง

lftp -f /path/to/lftp-script

อะไรแบบนี้

 */5 * * * * lftp -f /path/to/lftp-script

แนวทางที่สาม

ติดตั้ง curlftpfs

sudo apt-get install curlftpfs

คุณต้องทำเพื่อที่จะเมานต์ ftp ภายในเครื่องคือการเรียกใช้คำสั่งเหล่านี้สร้างแม่มด dir จะซิงค์ -ed

mkdir hostr

เมานต์ ftp dir จากระยะไกลไปยังท้องถิ่น

sudo curlftpfs -o allow_other ftp://user:pass@ftp.example.com host

user: passเป็นชื่อผู้ใช้และรหัสผ่านเพื่อเข้าสู่บัญชี ftp

คุณสามารถเพิ่มcurlftpfsการfstabสำหรับติดตั้งอัตโนมัติโดยใช้บรรทัดนี้

curlftpfs#user:pass@ftp.example.com /mnt/host fuse rw,uid=500,user,noauto 0 0

1
TARGETFOLDER = '/ new' = โฟลเดอร์บน ftp? SOURCEFOLDER = '/ home / myuser / backups' = โฟลเดอร์ท้องถิ่นที่มีไฟล์ที่ฉันต้องการจะอัพโหลด?
Edward Nunn

ใช่และใช่ :)
2707974

กำลังพูดว่าไฟล์กำลังถ่ายโอนนี้Untitled 1.odt' mirror: /home/edward/bl3/bl2/bl1/Untitled 1.odt: No such file or directory Unknown command '
Edward Nunn

ขึ้นอยู่กับเส้นทางเซิร์ฟเวอร์ ftp meybe ไม่เพียง/newโฟลเดอร์ ตรวจสอบเส้นทางทั้งสอง
2707974

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