Προς το περιεχόμενο

Ερώτηση για συγχρονισμό folder με rsync


chek2fire

Προτεινόμενες αναρτήσεις

θα ήθελα να συγχρονίσω φακέλους που έχω στο pc με αντίστοιχους φακέλους που υπάρχουν στον qnap linux naserver μου.

Η ιδέα είναι ότι αλλαγή κάνω στον φάκελο του pc να περνάει άμεσα η τουλάχιστον όταν γίνετε ο συγχρονισμός και στο nasserver μου.

Από τι είδα αυτό μπορεί να γίνει με το rsync. Ο qnap naserver έχει rsync server και rtrr server και μπορείς να κάνεις συγχρονισμό.

Το ubuntu έχει default το rsync εγκατεστημένο και μπορείς να εγκαταστήσεις και το grsync για να το διαχειρίζεσε μέσω gui.

Οι ερωτήσεις τώρα για να με γλυτώσετε από ώρες ψαξίματος :)

-Στο ubuntu ο rsync daemon τρέχει με το login και αν οχι πως γίνετε να τρέχει. Βρήκα αυτές εδώ τις οδηγίες

 

https://help.ubuntu.com/community/rsync#Grsync

 

-ο nasserver για ζητάει username και pass του απομακρυσμένου rsync server . Θα πρέπει να ορίσω και στο ubuntu κάτι τέτοιο?

 

-Τελος τι είναι το rtrr και τι διαφορά έχει από το rsync

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

βάζεις το nas στο fstab του ubuntu

βάζεις το rsync -av /path /path/of/mounted/nas στο crontab κάθε 60 λεπτά πχ

το κάνεις αυτό και ένα alias για να το εκτελέσεις άμεσα όταν θες, αν σε ενοχλεί να ανοίξεις κονσόλα το κάνεις ένα script και θα τρέχει με διπλό κλικ

όλα αυτά αυτόματα δεν ξέρω πως γίνονται, ίσως υπάρχει κάτι

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το έχω ήδη στο fstab τον server. Thanks για την απάντηση καλή λύση και αυτή που προτείνεις αλλά θέλω να το ψάξω να εκμεταλευτώ και την δυνατότητα που υπάρχει και από μεριά του nas.

To crontab τι είναι?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

ελααααααααααααα

man crontab :P

 

DESCRIPTION

Crontab is the program used to install, remove or list the tables used to serve the cron(8) daemon. Each user can have their own crontab, and though these are files in /var/spool/, they

are not intended to be edited directly. For SELinux in MLS mode, you can define more crontabs for each range. For more information, see selinux(8).

 

In this version of Cron it is possible to use a network-mounted shared /var/spool/cron across a cluster of hosts and specify that only one of the hosts should run the crontab jobs in the

particular directory at any one time. You may also use crontab(1) from any of these hosts to edit the same shared set of crontab files, and to set and query which host should run the

crontab jobs.

 

Running cron jobs can be allowed or disallowed for different users. For this purpose, use the cron.allow and cron.deny files. If the cron.allow file exists, a user must be listed in it

to be allowed to use cron If the cron.allow file does not exist but the cron.deny file does exist, then a user must not be listed in the cron.deny file in order to use cron. If neither

of these files exists, only the super user is allowed to use cron. Another way to restrict access to cron is to use PAM authentication in /etc/security/access.conf to set up users,

which are allowed or disallowed to use crontab or modify system cron jobs in the /etc/cron.d/ directory.

 

The temporary directory can be set in an environment variable. If it is not set by the user, the /tmp directory is used.

 

crontab -e για να βάλεις μια εργασία,εντολή,script,whatever να τρέχει κάθε τόσο αυτόματα σε ενα επαναλαμβανόμενο συγκεκριμένο χρόνο

πχ κάθε 5 λεπτά,μια ώρα κτλ κτλ

 

πχ

 

>
For example, once every 5 min:
		   */5 * * * *	 /path/to/script
For example, once every hour:
		   0 */1 * * *	 command

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Για πείτε καμιά ιδέα γιατί ενώ έκανα όλα τα βήματα μια χαρά μου βγάζει πρόβλημα όταν πάω να κάνω τον συγχρονισμο.

Αρχικά μπόρεσα και έτρεξα το rsync σαν daemon σύμφωνα με τις οδηγίες εδώ

 

https://help.ubuntu.com/community/rsync#Configuration_of_the_rsync_Daemon

 

εβαλα κανονικά και user με name

 

μετά πήγα και έκανα τις οδηγίες από εδώ στον nas server

 

http://docs.qnap.com/nas/en/index.html?remote_replication.htm

 

εβαλα κανονικά την ip του υπολογιστή συνδέθηκα με το user pass που είχα δώσει παραπάνω και το είδε κανονικά στο test. Στους φακέλους έβαλα σε αυτό που είναι στον υπολογιστή σαν

 

/home/spiros/test

 

και στο local του server έναν φάκελο που εφτιαξα μόνο για test. To κακό είναι ότι όταν πάω να κάνω συγχρονισμό μου βγάζει error και fail και το logfile λέει αυτό εδώ

 

@ERROR: Unknown module 'home'

rsync error: error starting client-server protocol (code 5) at main.c(2358) [sender=3.0.7]

 

γιατί βγάζει τον φάκελο σαν unknown module?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

To πρώτο θέμα με το module το έλυσα καθώς στο rsync και συγκεκριμένα στο rsync.conf αρχείο φτιάχνεις module με το path του αρχείου δλδ αυτό εδώ

 

 

[share]

comment = Public Share

path = /home/share

read only = no

list = yes

uid = nobody

gid = nogroup

auth users = user

secrets file = /etc/rsyncd.secrets

 

το διαμορφώνεις έτσι

 

 

[home]

comment = Public Share

path = /home/share

read only = no

list = yes

uid = nobody

gid = nogroup

auth users = user

secrets file = /etc/rsyncd.secrets

 

και βλέπει το module με το όνομα home. To θέμα είναι τώρα ότι μου βγάζει άλλο error και συγκεκριμένα αυτό εδώ

 

@ERROR: chroot failed

 

εντάξει μόλις το έλυσα και αυτό με τον user. Για να ξεπεράσω το πρόβλημα στο chroot διαμόρφωσα στον desktop pc το /etc/rsyncd.conf

ετσι

 

 

[share]

comment = Public Share

path = /home/share

read only = no

list = yes

uid = root

gid = root

auth users = user

secrets file = /etc/rsyncd.secrets

 

πλέον μπορώ και κάνω συγρονισμό φακέλων :) αλλά θα ήθελα να δω και την λύση rtrr που έχει ο nas server που είναι συγχρονισμός σε πραγματικό χρόνο. Να προσθέσω ότι από τι διάβασα το rsync με ssh είναι ποιο εύκολο καθώς δεν χρειάζετε να φτιάχνεις module αλλά απλά βάζεις το path της διαδρομής του φακέλου.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν αναφέρει κάτι πιο αναλυτικό ? Το nas το βγάζει το μήνυμα ? Αν ναι, έχει επιλογή να απενεργοποιηθεί το chroot ?

 

Οι αιτίες που μου έρχονται στο μυαλό ως πιθανές για να αποτύχει το chroot είναι να μην τρέχει ο rsync σαν root, να μην έχει άδειες ο nobody στον κατάλογο /home/share, να μην μπορεί να βρει σε τι uid αναφέρεται ο nobody (δεν θυμάμαι αν ισχύει και στην περίπτωση του rsync αλλά πολλά εργαλεία χρειάζονται να υπάρχει /etc/password _μέσα_ στο chroot για να πετύχει το resolve).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Οντός αυτό ήταν αν ειδες και παραπάνω την προσθήκη που έκανα στο μύνημα. Αλλαξα το uid και gid σε root αν και πλέον δουλεύει κανονικά.

Τώρα για το real time συγχρονισμό στο qnap μπορείς να το κάνεις μέσω ftp.

Νεες ερωτήσεις. Μπορώ εύκολα να βάλω ftp server στο ubuntu αλλά πως μπορώ να κάνω share διάφορους φακέλους μέσω ftp και αυτούς όχι public

 

Και κάτι άλλο επειδή θέλω να κάνω συγχρονισμό σε φακελους που υπάρχουν σε διάφορους σκληρούς στο ubuntu έχουν το path αυτό εδώ

 

/media/320200350B478D19/

 

αυτό το path μένει σταθερό σε κάθε έναρξη η για να έχω σταθερό path θα πρέπει να κάνω edit τους σκληρούς στο fstab?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Οντός αυτό ήταν αν ειδες και παραπάνω την προσθήκη που έκανα στο μύνημα. Αλλαξα το uid και gid σε root αν και πλέον δουλεύει κανονικά.

Τώρα για το real time συγχρονισμό στο qnap μπορείς να το κάνεις μέσω ftp.

Ναι το είδα τώρα. Όταν έγραφα το μήνυμα δεν είχε μπει ακόμη η προσθήκη και μετά για κάποιο λόγο κόλλησε ο editor του insomnia :P. Αν δεν βαριέσαι να το πειράξεις μπορείς να το κάνεις να παίξει και σαν nobody ή άλλος χρήστης ώστε να μην τρέχει σαν root.

 

 

Νεες ερωτήσεις. Μπορώ εύκολα να βάλω ftp server στο ubuntu αλλά πως μπορώ να κάνω share διάφορους φακέλους μέσω ftp και αυτούς όχι public

"Όχι public" εννοείς να μην είναι anonymous ftp ? Αν ναι, τότε μπορείς να μπαίνεις σαν χρήστης με κωδικό και να αλλάζεις κατάλογο σε αυτόν που κάνεις share (ίσως χρειαστεί να αλλάξεις τις άδειες του καταλόγου βέβαια) ή να κάνεις ένα νέο χρήστη που να τον έχει ορισμένο σαν home κατάλογο για να μην χρειάζεται να αλλάζεις κάθε φορά. Αν πας σε αυτή την οδό, πολλοί ftp servers υποστηρίζουν και virtual users οπότε ακόμη καλύτερα.

 

Και κάτι άλλο επειδή θέλω να κάνω συγχρονισμό σε φακελους που υπάρχουν σε διάφορους σκληρούς στο ubuntu έχουν το path αυτό εδώ

 

/media/320200350B478D19/

 

αυτό το path μένει σταθερό σε κάθε έναρξη η για να έχω σταθερό path θα πρέπει να κάνω edit τους σκληρούς στο fstab?

Οι κατάλογοι μέσα στο /media που χρησιμοποιούνται από τους διάφορους udev mounters δεν είναι πάντα το label του filesystem ? Σε όσες διανομές έχω δει αυτή η πολιτική ακολουθείται αλλά δεν ξέρω αν υπάρχει κάποια διανομή που να διαφοροποιείται. Αν ισχύει αυτό που λέω με το label, τότε λογικά το path θα είναι πάντα το ίδιο.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ετσι και αλλιώς και root να το τρέχω το dekstop είναι τελείως κλειστό δλδ δεν έχει κάποια θύρα ανοιχτή στον έξω κόσμο, εδώ που τα λέμε ούτε και ο router εκτός αυτούς του nas που και εκεί υπάρχει ασφάλεια( οση μπορεί να υπάρξει δλδ :P)

από τι είδα και η λύση του rsync είναι πολύ καλή καθώς μπορείς να κάνεις backup ακόμα και σε όλη την εγκατάσταση του server με φάκελους αρχεία κτλ.

Το real time νομίζω θα έτρωγε πόρους ιδίως σε τόσο χαμηλά μηχανήματα σαν το nas με marvell 800mhz αρά θα μείνω με το rsync και θα του βάλω να κάνει scan σε συγκεκριμένες ημερομηνίες.

thx για τις απαντήσεις :)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ξέχασα μόνο να αναφέρω ότι στο module που φτιάχνεις και εκεί που λέει path βάζεις κανονικά το path του φακέλου που θέλεις να συγχρονίσεις

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...