Ένα σενάριο και μια ερώτηση

Τεχνικές και μόνο Συζητήσεις για WEB hosting servers, Mail servers, DNS servers. Όχι αναζήτηση υπηρεσιών εδώ!

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
viruswitch
Δημοσιεύσεις: 269
Εγγραφή: 24 Οκτ 2005 20:03

Ένα σενάριο και μια ερώτηση

Δημοσίευση από viruswitch » 07 Μαρ 2006 05:12

Αναρωτιέμαι αν γίνεται κάπως το εξής: να στείλω αρχεία από ένα account σε ένα σέρβερ σε ένα άλλο. Δηλαδή έχω ένα site και για να το μεταφέρω σε άλλο σέρβερ, αντι να το κατεβάζω και να το ξαναανεβάζω να το στέλνω κατευθείαν! :idea: Δεν ξέρω αν γίνεται και τι πρόγραμμα θα χρειαζόταν κάτι τέτοιο ή τι προνόμοια χρειάζεται ο χρήστης που θα το έκανε αυτό. Μιλάω για νορμάλ accounts σε shared server.

Είναι λίγο επιστημονική φαντασία αυτό που σκέφτηκα? :lol:

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10242
Εγγραφή: 28 Ιούλ 2001 03:00

Ένα σενάριο και μια ερώτηση

Δημοσίευση από Cha0s » 07 Μαρ 2006 09:17

Γίνεται σίγουρα αλλά δεν το έχω δοκιμάσει ως τελικός user αλλά σαν root με άλλο τρόπο...

Απόσο γνωρίζω πρέπει ο FTP Client και ο FTP Server να το υποστηρίζουν ώστε να γίνει αυτό.

Τουλάχιστον ξέρεις ότι υπάρχει αυτό το σενάριο :P Περισσότερα δεν γνωρίζω.

Άβαταρ μέλους
Giannis78
Δημοσιεύσεις: 1334
Εγγραφή: 11 Οκτ 2005 12:45
Τοποθεσία: Assigned by DHCP
Επικοινωνία:

Ένα σενάριο και μια ερώτηση

Δημοσίευση από Giannis78 » 07 Μαρ 2006 11:10

exeis mipos cpanel?
an nai einai pio efkolo prepei mono ston server pou tha metafertheis na exeis root acc kai na kaneis transfer account.
mporeis na doseis to pass apo to palio acc stin nea etairia kai na sto kanoun aytoi an den exeis esy root account.
WebHosting Services
http://www.intechs.gr

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Ένα σενάριο και μια ερώτηση

Δημοσίευση από cherouvim » 07 Μαρ 2006 11:53

An milas gia 2 accounts ston idio server stilta sto /tmp apo to proto account kai trava ta me to deutero.

An to host sou dinei SSH ta pragmata einai poly pio efkola. Se periptosi pou milas gia 2 diaforetikous servers mporeis na kaneis zip olo to site, na to afiseis kato apo to /www sou kai na to kaneis wget apo ton allo server, i apla ftp mesa apo to ssh (an sou to ehoune afisei na doulevei).

Telos yparxei i dynatotita FXP gia na site to site transfers.

Άβαταρ μέλους
milianos
Δημοσιεύσεις: 269
Εγγραφή: 11 Νοέμ 2004 01:39
Τοποθεσία: schwabenland
Επικοινωνία:

Ένα σενάριο και μια ερώτηση

Δημοσίευση από milianos » 07 Μαρ 2006 13:14

Εαν και οι δύο server υποστηρίζουν την μεταφορά δεδομένων απο server σε server τότε αυτό είναι πολύ εύκολο να γίνει με ενα καλό FTP client όπως πχ WS_FTP Pro 9, Total Commander6.4, FTP Voyager κλπ.
Συνήθως όμως δεν το επιτρέπουν σ'αυτά τα clients οι FTP-δαίμονες(Daemonen) :hammer: :hammer: . Μπορείς όμως να χρησιμοποιήσεις το NetDrive της Novell το οποίο δουλεύει σε περιβάλλον windows explorer και είναι, εκτός των άλλων, δωρεάν και ταχύτατο.

Άβαταρ μέλους
shadow
Script Master
Δημοσιεύσεις: 606
Εγγραφή: 14 Απρ 2005 18:30

Ένα σενάριο και μια ερώτηση

Δημοσίευση από shadow » 07 Μαρ 2006 18:17

Εαν είσαι αρκετά εξικοιωμένη με την php ρίξε μια ματιά στις ftp συναρτήσεις που έχει.
Η ιδέα είναι πολύ απλή :
recursive περασμα του directory το οποίο θες να μεταφέρεις, εάν κατά το πέρασμα βρισκεις directory τοτε με ftp_mkdir δημιουργείς το αντίστοιχο directory στο server που θες να κάνεις τη μεταφορά αλλάζεις directory στο remote host και με ftp_put βαζεις ανεβάζεις τα αρχεία μεσα στο directory. Η ίδια διαδικασία επαναλαμβάνεται μέχρι να μεταφερθει όλο το site στο remote host.

@cherouvim
αυτο με το /tmp δεν είναι και τόσο αξιόπιστη λύση (απαιτεί ότι θα έχεις permissions να γραψεις εκει ;) )
milanos έγραψε: Συνήθως όμως δεν το επιτρέπουν σ'αυτά τα clients οι FTP-δαίμονες(Daemonen)
Sorry αλλά δεν κατάλαβα τι εννοείς.. Εαν μπορείς να το εξηγήσεις..
Close your eyes
For your eyes will only tell the truth and the truth isnt what you want to see
In the dark, is it easy to pretend that the truth is it ought to be.
Programmers are programmers because they like to code

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10242
Εγγραφή: 28 Ιούλ 2001 03:00

Ένα σενάριο και μια ερώτηση

Δημοσίευση από Cha0s » 07 Μαρ 2006 18:25

Πως φαίνεται η προγραμματίστρια :D

Το /tmp από default έχει permissions 777 οπότε μπορεί να γράψει ο οποιοσδήποτε.

Οπότε δεν είναι πρόβλημα.

Άβαταρ μέλους
viruswitch
Δημοσιεύσεις: 269
Εγγραφή: 24 Οκτ 2005 20:03

Ένα σενάριο και μια ερώτηση

Δημοσίευση από viruswitch » 07 Μαρ 2006 18:47

Ευχαριστώ όλους όσους απάντησαν!
Πάρα πολύ συναρπαστικά!!! όλα όσα μου γράψατε! Δεν ήξερα ότι υπάρχουν όλες αυτές οι δυνατότητες. Η λύση του cherouvim είναι πολύ ενδιαφέρουσα γιατί όντως πρόκειται για δυο account στον ίδιο σέρβερ και provider. Νομίζω ότι είχα διαβάσει ότι έχει ssh αλλά δεν το έχω χρησιμοποιήσει ποτέ, δεν ξέρω καν τι είναι και με ποιο πρόγραμμα γίνεται.

Μετέφερα ένα blog wordpress και απλά το ξαναέκανα εγκατάσταση, έριξα τη βάση και ανέβασα την παλιά με τις αλλαγές. Και αυτό λειτούργησε για να μη μεταφέρω αρχεία. Θα το δοκιμάσω όμως από περιέργεια αν γίνεται αυτό με τα /τμπ γιατι πρέπει να ναι πολύ χρήσιμο.

Έχω cpanel και στην έσχατη περίπτωση θα ζητούσα από το support βοήθεια αλλά προσπαθώ να μην τους ενοχλώ πολύ και να μαθαίνω και γω... (και ας μου πήρε 5 ώρες και καμιά 10αρια δοκιμές μέχρι να πετύχει) :D

Αυτό με το php δεν το κατάλαβα.. δε σκαμπάζω και πολλά από php. Επίσης δεν έχω root access... φυσικά!

Άβαταρ μέλους
shadow
Script Master
Δημοσιεύσεις: 606
Εγγραφή: 14 Απρ 2005 18:30

Ένα σενάριο και μια ερώτηση

Δημοσίευση από shadow » 07 Μαρ 2006 23:34

Το ssh ειναι ένα πρωτόκολλο που σου επιτρέπει να συνδεθείς σε ένα υπολογιστή με ένα account που έχεις (username, pass) και να εκτελέσεις εκεί εντολές. O ssh server(sshd) ακούει στο port 22, εκτός και εαν έχει ρυθμιστεί από τον admin του server σου, σε αλλο port (θα πρέπει να τους ρωτήσεις για αυτό) .
Για να το χρησιμοποιήσεις χρειάζεσαι εναν ssh client , στα win εγω χρησιμοποιούσα το Putty το οποίο είναι πολύ καλό κατά την γνώμη μου...

Αυτό το οποίο εννοούσα είναι το εξής:
Αυτή τη στιγμή το site σου έχει μια συγκεκριμένη δομή , έστω

Κώδικας: Επιλογή όλων

dir1/subdir1,...
|         |
|         |__subfile1,sybfile2,...,subfilek
|_file1, file2,..filen
dir2/
...
dirn/
Με τις ftp συναρτήσεις ουσιαστικά μπορείς να μεταφέρεις files απο το ενα host σε ένα άλλο. Για να κρατήσεις όμως την δομή του site που θες να μεταφέρεις πρέπει να δημιουργηθούν τα ίδια directories με το τρέχον host και σε κάθε directory τοτε βάζεις τα αντίστοιχα αρχεία.
Εστω host_a , ο host ο οποίος έχει τώρα το site σου και host_b , o host στον οποίο θές να κάνεις τη μεταφορά.

Κώδικας: Επιλογή όλων

#!/usr/bin/php
<?
function ftpRemoteCopy &#40;$recurse&#41;
&#123;
    global $srcdir, $ftpdir, $ftpconn;

    chdir&#40;$srcdir.$recurse&#41;;

    // check if the directory exists & change to it on the destination
    if &#40;!@ftp_chdir&#40;$ftpconn , $ftpdir.$recurse&#41;&#41; &#123;
        // remote directory doesn't exist so create & enter it
        ftp_mkdir    &#40;$ftpc , $ftpdir.$recurse&#41;;
        ftp_chdir    &#40;$ftpc , $ftpdir.$recurse&#41;;
     &#125;
     if &#40;$dh = opendir&#40;"."&#41;&#41; &#123;
         while &#40;false !== &#40;$content = readdir&#40;$dh&#41;&#41;&#41; &#123;
             if &#40;$content != "." && $content != ".."&#41; &#123;
                 // check if it's a file or directory
                 if &#40;!is_dir&#40;$content&#41;&#41;
                 &#123;
                     // it's a file &#58;&#58; upload it
                     ftp_put&#40;$ftpc, $ftpdir.$recurse.$content, $content, FTP_BINARY&#41;;
                &#125;else&#123;
                   //it's a directory &#58;&#58;  go a level down at current directory
                    ftpRemoteCopy &#40;$recurse.$content."/"&#41;;
                    chdir&#40;"../"&#41;;
                &#125;
             &#125;
          &#125;
          closedir&#40;$dh&#41;;
      &#125;
&#125;

$ftphost = "xxxxx";
$ftpuser = "xxxxx";
$ftppass = "xxxxx";
$srcdir = "/home/htdocs/host_a/";
$ftpdir = "/home/htdocs/host_b/";
$recurse = "";

$ftpconn = ftp_connect&#40;$ftphost&#41;;
ftp_login&#40;$ftpconn  , $ftpuser , $ftppass&#41;;
ftpRemoteCopy &#40;$recurse&#41;;
ftp_close&#40;$ftpconn&#41;;

?>
Γενικά πάντως με την php, μπορείς να το προσαρμόσεις το παραπάνω όπως θες, πχ μπορείς αντί να κανεις parsing ολο το directory να το κανεις ένα ωραίο taraki και να το στείλεις στο host που θες... Γενικά υπάρχουν αρκετές εναλλακτικές (για αυτό αγαπάω αυτή τη γλώσσα :D )
Close your eyes
For your eyes will only tell the truth and the truth isnt what you want to see
In the dark, is it easy to pretend that the truth is it ought to be.
Programmers are programmers because they like to code

Άβαταρ μέλους
milianos
Δημοσιεύσεις: 269
Εγγραφή: 11 Νοέμ 2004 01:39
Τοποθεσία: schwabenland
Επικοινωνία:

Ένα σενάριο και μια ερώτηση

Δημοσίευση από milianos » 08 Μαρ 2006 08:38

shadow έγραψε:...Sorry αλλά δεν κατάλαβα τι εννοείς.. Εαν μπορείς να το εξηγήσεις..
Ισως κάποιος Linux-Freak :lol: θα μπορούσε να μας γράψει περισσότερα πράγματα για τους Daemonες. (βλέπε επίσης: disk and execution monitor)

File Transfer Protocol-Daemon=ftpd όπως και ο Secure-Shell-Daemon=sshd είναι πρόγραμμα που τρέχει στο παρασκήνιο και διεκπεραιώνει μια αίτηση απο κάποιον Client στο δίκτυο. Δηλαδή έλεγχος name password κλπ.

Είναι στην Unix περίπου οτι και τα services στα windows, φορτώνονται και αυτά αυτομάτως μαζί με το σύστημα και ενεργοποιούνται όταν υπάρξη κάποια αίτηση δικτύου(Netzwerkanfrage) προγράμματος κλπ.

Η ενεργοποίηση απο τον χρήστη ενος Daemon μπορεί να γίνει μέσω παρακαμτήριας οδού π.χ Signale η Pipes και όχι απ'ευθείας

Μερικοί Daemonες syslogd, crond, ipd, inetd, httpd, sendmail-daemon, cups-daemon, /sbin/init κλπ.

Τελικά το ότι στην προκειμένη περίπτωση αυτά τα συγκεκριμένα FTP Clients δεν μπορούν νε επιτύχουν σύνδεση και μεταφορά δεδομένων μεταξύ 2 server αυτό μάλλον οφείλεται στην ανεπάρκεια των ίδιων των προγραμμάτων και οχι σε κάποιον FTP-Daemon.

Άβαταρ μέλους
shadow
Script Master
Δημοσιεύσεις: 606
Εγγραφή: 14 Απρ 2005 18:30

Ένα σενάριο και μια ερώτηση

Δημοσίευση από shadow » 08 Μαρ 2006 10:54

Οκ το τελευταίο ήταν που δεν είχα καταλάβει. I mean οτι στο προηγούμενο σου post ελεγες οτι δεν μπορεις να συνδεθεις απο καποιον ftp client σε 2 servers λογω των ftp daemons που τρέχουν στους servers :)
Close your eyes
For your eyes will only tell the truth and the truth isnt what you want to see
In the dark, is it easy to pretend that the truth is it ought to be.
Programmers are programmers because they like to code

Απάντηση

Επιστροφή στο “Apache, IIS, DNS Servers”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 2 επισκέπτες