Αυτόματο Backup μέσω SSH
Δημοσιεύτηκε: 10 Σεπ 2014, 13:32
Καλησπέρα σε όλους...
Στον VPS μου έχω βάλει κάθε βράδυ μέσω cronjob να παίρνει backup τα αρχεία και τις βάσεις δεδομένων και να τα αποθηκεύει στο /home/backup/backups (το backup είναι ο user)
Για να το κάνω αυτό έχω δημιουργήσει δύο αρχεία files.sh και db.sh τα οποία μέσα περιέχουν την εντολή για να γίνουν compressed τα αρχεία.
π.χ. για το files.sh
Τώρα αυτό που θέλω να κάνω είναι το εξής:
Θέλω αυτά τα compressed backups να μεταφέρονται αυτόματα σε ένα άλλο server.
Για να το κάνω αυτό, έπρεπε να μπορώ να έχω πρόσβαση μέσω SSH στον 2ο server χωρίς χρήση κωδικού. Δημιούργησα public keys στον 1ο server για τον χρήστη backup και στην συνέχεια τα πέρασα στον 2ο server στον ίδιο χρήστη backup. Με αυτό τον τρόπο έχω πρόσβαση μέσω του SSH από τον πρώτο server στον δεύτερο χωρίς να χρειάζεται κωδικός. Κάτι το οποίο το δοκίμασα και με την εντολή:
Ενώ έχω κανονικά πρόσβαση στον 2ο server μέσω του πρώτου, όταν πάω ως χρήστης backup από τον 1o να δώσω την εντολή ώστε να αντιγράψει τα αρχεία στον 2ο server, μου δίνει Permission denied:
Έχει κανείς ιδέα τι μπορεί να φταίει για να το κοιτάξω?
Και σίγουρα ότι πρόταση έχετε σχετικά με το πόσο ασφαλές είναι αυτό που έχω κάνει..
Στον VPS μου έχω βάλει κάθε βράδυ μέσω cronjob να παίρνει backup τα αρχεία και τις βάσεις δεδομένων και να τα αποθηκεύει στο /home/backup/backups (το backup είναι ο user)
Για να το κάνω αυτό έχω δημιουργήσει δύο αρχεία files.sh και db.sh τα οποία μέσα περιέχουν την εντολή για να γίνουν compressed τα αρχεία.
π.χ. για το files.sh
Κώδικας: Επιλογή όλων
Και για να γίνεται αυτόματα έχω ένα cronjob μέσω του root user με την εντολή:#!/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 {} \;
Κώδικας: Επιλογή όλων
να το τρέχει π.χ. κάθε βράδυ στις 3./home/backup/backups/files.sh
Τώρα αυτό που θέλω να κάνω είναι το εξής:
Θέλω αυτά τα 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:
Κώδικας: Επιλογή όλων
(ενώ αν το κάνω σαν root user, το κάνει κανονικά αλλά θέλει κωδικό, το οποίο δεν θέλω να δίνω γιατί πρέπει να γίνεται αυτόματα!)rsync: mkstemp "/home/backup/backups/.db_100920141147.sql.gz.TB4MVm" failed: Permission denied (13)
Έχει κανείς ιδέα τι μπορεί να φταίει για να το κοιτάξω?
Και σίγουρα ότι πρόταση έχετε σχετικά με το πόσο ασφαλές είναι αυτό που έχω κάνει..