LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: data-sychronization and file service? Web approach

To: "Andreas Schiffler" <aschiffler@xxxxxxxx>, <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: data-sychronization and file service? Web approach
From: Emmanuel Paré <techf@xxxxxxxxxx>
Date: Fri, 5 May 2000 16:10:04 -0400
Why doing just the half?  Sync all servers in (one shoot) with an app like fmirror, rsync, ... that will only download the files that have been changed and/or removed old file no more present on the master.  We have a perl script that build dynamic webpage.. once the web page has been created, we post it using a form/data and send it to php3 receiver it work like a charm!.
 
ex: Perl part (sorry comments are in french) You need the perl net modules.
 
#!/usr/bin/perl

#Example d'appel.
post_php("http:\/\/www.compagnie.com\/getpost.php3", "\/root\/salon.html", "www.compagnie.com", "/salon.html");

sub post_php {
# post_php 07042000 Emmanuel Pare <emman@xxxxxxxxxx>
#
# Cette fonction permet de POSTER un fichier vers un autre serveur.
# @PARAM 
# URL_ -> String du URL qui va recevoir le POST.
# ReadFilename_ -> String contenant le repertoire et le nom du fichier a envoyer.
# WEB_ -> String qui identifie le site ex: www.compagnie.com
# RemotePage_ -> String qui identifie le nom + path relatif de la page HTML sur le cote client.(VOIR NOTE)
# NOTE : Le path relatif est ce que l'utilisateur voit dans le browser ex www.compagnie.com/photo/
# le path relatif dans ce cas ci est /photo et le WEB_ est www.compagnie.com
#
# ex: post_php("http:\/\/www.compagnie.com\/getpost.php3", "\/root/salon.html", "www.compagnie.com", "/salon.html");

$IDKey         = "blah";
$URL        = $_[0];
$myFile        = $_[1];
$WEB        = $_[2];
$RemotePage    = $_[3];

#Ouvre le fichier en lecture et le stock sont contenu dans $out.
open(IN,"$myFile") || print "Impossible d'ouvrir le fichier!";

while($line = <IN>) {
$out = $out . $line;
}

use HTTP::Request::Common;
use LWP::UserAgent;
$ua = new LWP::UserAgent;
$ua->agent("Sync_Server/0.1 " . $ua->agent);
$ua->timeout(5);

my $req = POST $URL,
    Content_Type => 'form-data',
   Content      => [OutFileName => $RemotePage,
   OutWeb      => $WEB,
   userfile    => $out,
   Key         => $IDKey];
print $ua->request($req)->as_string;

}
 
 
PHP3 PART
-----------------

<HTML>
<BODY>
 
<?
 
 /* Code serveur qui recoit le POST des scripts perls
    Emmanuel Pare <emman@xxxxxxxxxx>
    07/04/2000 */
 
 /* Variables :  OutWeb => le nom du site web ex: www.compagnie.com
                 OutFileName ==> le nom du fichier html + son path relatif ex: /membres/actlog.php3 */
 

if ($Key == "blah"){
  print $OutWeb;
  print $OutFileName;
  print $userfile;
  print $Key;
 
  $MonFichier = fopen("/usr/web/$OutWeb/$OutFileName","w");
  fputs($MonFichier, $userfile);
  fclose($MonFichier);
}
 
?>
 
</BODY>
</HTML>
<Prev in Thread] Current Thread [Next in Thread>