OpenCart-Hellas 

Η Ελληνική κοινότητα υποστήριξης του Opencart

Υποστήριξη διαχείρισης διακομιστών & συζητήσεις για hosting.
Από antstyl
#461
Καλησπέρα σε όλους...

Στον VPS μου έχω βάλει κάθε βράδυ μέσω cronjob να παίρνει backup τα αρχεία και τις βάσεις δεδομένων και να τα αποθηκεύει στο /home/backup/backups (το backup είναι ο user)
Για να το κάνω αυτό έχω δημιουργήσει δύο αρχεία files.sh και db.sh τα οποία μέσα περιέχουν την εντολή για να γίνουν compressed τα αρχεία.

π.χ. για το files.sh
Κώδικας: Επιλογή όλων
#!/bin/sh
tar czf /home/backup/backups/files/fbackup_`/bin/date +\%d\%m\%Y\%H\%M`.tar -C / var/www/vhosts/example.com/httpdocs
find /home/backup/backups/files -mtime +0 -exec rm {} \;
Και για να γίνεται αυτόματα έχω ένα cronjob μέσω του root user με την εντολή:
Κώδικας: Επιλογή όλων
/home/backup/backups/files.sh
να το τρέχει π.χ. κάθε βράδυ στις 3.

Τώρα αυτό που θέλω να κάνω είναι το εξής:
Θέλω αυτά τα compressed backups να μεταφέρονται αυτόματα σε ένα άλλο server.

Για να το κάνω αυτό, έπρεπε να μπορώ να έχω πρόσβαση μέσω SSH στον 2ο server χωρίς χρήση κωδικού. Δημιούργησα public keys στον 1ο server για τον χρήστη backup και στην συνέχεια τα πέρασα στον 2ο server στον ίδιο χρήστη backup. Με αυτό τον τρόπο έχω πρόσβαση μέσω του SSH από τον πρώτο server στον δεύτερο χωρίς να χρειάζεται κωδικός. Κάτι το οποίο το δοκίμασα και με την εντολή:
Κώδικας: Επιλογή όλων
ssh 'ip-tou-deuterou-server'
Το πρόβλημα που αντιμετωπίζω είναι το εξής:
Ενώ έχω κανονικά πρόσβαση στον 2ο server μέσω του πρώτου, όταν πάω ως χρήστης backup από τον 1o να δώσω την εντολή ώστε να αντιγράψει τα αρχεία στον 2ο server, μου δίνει Permission denied:
Κώδικας: Επιλογή όλων
rsync: mkstemp "/home/backup/backups/.db_100920141147.sql.gz.TB4MVm" failed: Permission denied (13)
(ενώ αν το κάνω σαν root user, το κάνει κανονικά αλλά θέλει κωδικό, το οποίο δεν θέλω να δίνω γιατί πρέπει να γίνεται αυτόματα!)

Έχει κανείς ιδέα τι μπορεί να φταίει για να το κοιτάξω?

Και σίγουρα ότι πρόταση έχετε σχετικά με το πόσο ασφαλές είναι αυτό που έχω κάνει..
Τελευταία επεξεργασία από το μέλος antstyl την 10 Σεπ 2014, 17:15, έχει επεξεργασθεί 3 φορές συνολικά.
Από antstyl
#462
Κάτι που παρατήρησα ότι εάν το βάλω να τα αντιγράψει στο tmp του 2ου server και όχι στο /home/backup/..
το κάνει κανονικά, οπότε υποθέτω είναι θέμα permissions?
Άβαταρ μέλους
Από Alexandra
#466
Καλησπέρα

Το directory /home/backup/backups του δεύτερου server ανήκει στον χρήστη backup;

Δοκίμασε αν θες και αυτό:
Κώδικας: Επιλογή όλων
rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /home/backup/backups/ backup@ip-tou-deuterou-server:/home/backup/backups/
Από antstyl
#467
Τώρα μόλις έβαλα στον φάκελο /home σαν owner και group τον χρήστη backup και τώρα λειτουργεί κανονικά.

Αυτό που μου είπες να δοκιμάσω για τι είναι? Χρειάζεται αφού λειτουργεί?
Άβαταρ μέλους
Από Alexandra
#468
Αυτή είναι μία ακόμη μέθοδος σύνδεσης rsync μέσω ssh.
Εφόσον λειτουργεί δεν χρειάζεται να κάνεις κάτι άλλο.
Από antstyl
#470
Τέλεια, θα γράψω αναλυτικές λεπτομέρειες για το πως έκανα γιατί μπορεί να χρησιμεύσει και σε άλλους.

Από θέμα ασφάλειας, είναι ΟΚ να βρίσκονται σε αυτούς τους φακέλους τα αρχεία?
Τι permissions πρέπει να έχουν? Αυτή τη στιγμή έχω σε όλα group και owner τον χρήστη backup και οι φάκελοι είναι με 700 και τα αρχεία π.χ. transfer.sh με 700.
Άβαταρ μέλους
Από Alexandra
#472
Ναι, οι φάκελοι είναι ασφαλείς με 700. Για τα αρχεία προτίμησε 600 γιατί με 700 εκτός από αναγνώσιμα και εγγράψιμα, είναι και εκτελέσιμα από τον χρήστη.

Καλησπέρα, Θα μπορούσες να δώσεις ένα αρνητικό ma[…]

Καλησπέρα! Έχω αναπτύξει εγώ κάτι στο eshop που υ[…]

Καλησπέρα σας, μήπως βρήκατε κάτι να παίζει; Το ht[…]

Στα συμβάντα βρήκα κάτι, αλλά δεν ξέρω αν σχετίζε[…]

Πριν ζητήσετε βοήθεια στο φόρουμ, παρακαλούμε ελέγξτε αν υπάρχει έτοιμη λύση στο OpenCart Extension Marketplace!