एफ़टीपी फ़ोल्डर की सामग्री के साथ स्थानीय फ़ोल्डर की सामग्री को स्वचालित रूप से कैसे सिंक करें?


9

हर जगह खोजने के बाद मैं अपने प्रश्न के लिए एक विशिष्ट उत्तर खोजने में कामयाब नहीं हुआ।

विंडोज पर एफ़टीपीबॉक्स नामक एक एप्लिकेशन है जो स्वचालित रूप से एक स्थानीय फ़ोल्डर को एक एफटीपी के साथ हर समय की अवधि के साथ सिंक करेगा।

मेरा सवाल यह है कि मैं उबंटू का उपयोग करके उसी चीज को कैसे प्राप्त करूं? मुख्य बात यह है कि मैं इसे मैन्युअल रूप से करना नहीं चाहता। यह पूरी तरह से स्वचालित प्रक्रिया होनी चाहिए जिसमें कोई मानवीय हस्तक्षेप की आवश्यकता नहीं है (जाहिर है मुझे इसे स्थापित करना होगा यदि उस वर्ग को मानव हस्तक्षेप पीओएल के रूप में)।

उपयोगी उत्तर के लिए प्रत्याशा में बहुत धन्यवाद।

-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

4 बजे चलाने के लिए

 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 witch सिंक-एड होगा

mkdir hostr

माउंट दूरस्थ ftp स्थानीय करने के लिए

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

उपयोगकर्ता: पास 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' = स्थानीय फ़ोल्डर जिसमें मैं अपलोड करना चाहता हूं?
एडवर्ड नून

हाँ और हाँ। :)
2707974

यह ट्रांसफ़रिंग फ़ाइल कह रही है Untitled 1.odt' mirror: /home/edward/bl3/bl2/bl1/Untitled 1.odt: No such file or directory Unknown command ; '
एडवर्ड नून

FTP सर्वर पथ के आधार पर meybe न केवल /newफ़ोल्डर। दोनों पथ की जाँच करें।
2707974

यदि आप source folderस्थानीय में फ़ोल्डर बनाते हैं , तो उस फ़ोल्डर को ftp फ़ोल्डर के साथ सिंक-एड होना चाहिए।
2707974
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.