/[rserv]/bin/ApplySnapshot
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /bin/ApplySnapshot

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.7 - (hide annotations)
Sun Nov 2 15:43:05 2003 UTC (20 years, 6 months ago) by dpavlin
Branch: MAIN
Changes since 1.6: +6 -2 lines
added SERVER (id of source server) and KEYS (which keys are transfered in
this snapshot) in snapshot format

1 dpavlin 1.4 #!/usr/bin/perl -w
2 dpavlin 1.1 # ApplySnapshot
3     # Vadim Mikheev, (c) 2000, PostgreSQL Inc.
4    
5     eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
6     & eval 'exec perl -S $0 $argv:q'
7     if 0;
8    
9 dpavlin 1.4 BEGIN {
10     my $basedir = $0; $basedir =~ s#/[^/]+$##;
11     unshift(@INC, "$basedir/../share");
12     }
13    
14     use strict;
15 dpavlin 1.1 use IO::File;
16     use RServ;
17     use Getopt::Long;
18    
19     $| = 1;
20    
21 dpavlin 1.4 my ($debug,$verbose) = (0,0);
22 dpavlin 1.7 my ($help,$slavehost,$slaveport,$slaveuser,$slavepassword,
23     $multiplemaster,
24     );
25 dpavlin 1.5 my $snapshot;
26 dpavlin 1.4
27     my $result = GetOptions(
28     "debug!" => \$debug, "verbose!" => \$verbose, "help" => \$help,
29     "slavehost=s" => \$slavehost, "slaveport=i" => \$slaveport,
30     "slaveuser=s" => \$slaveuser, "slavepassword=s" => \$slavepassword,
31 dpavlin 1.7 "multiplemaster" => \$multiplemaster,
32 dpavlin 1.4 "snapshot=s" => \$snapshot,
33     );
34    
35     if (defined($help) || (scalar(@ARGV) < 1)) {
36     print "Usage: $0 [options] slavedb
37     Options:
38     --slavehost=hostname --slaveport=port
39     --slaveuser=username --slavepassword=string
40 dpavlin 1.7 --multiplemaster
41 dpavlin 1.4 --snapshot=snapshot
42     ";
43 dpavlin 1.1 exit ((scalar(@ARGV) < 1)? 1:0);
44     }
45    
46     my $slave = $ARGV[0] || "slave";
47    
48 dpavlin 1.6 my $sinfo = MkInfo($slave,$slavehost,$slaveport,$slaveuser,$slavepassword);
49 dpavlin 1.1
50 dpavlin 1.2 my $conn = Pg::connectdb($sinfo);
51 dpavlin 1.1
52 dpavlin 1.3 my $inpf;
53 dpavlin 1.4 if (defined($snapshot)) {
54 dpavlin 1.3 $inpf = new IO::File;
55 dpavlin 1.4 $inpf->open("< $snapshot");
56 dpavlin 1.3 } else {
57 dpavlin 1.4 $inpf = *STDIN;
58 dpavlin 1.3 }
59 dpavlin 1.2
60 dpavlin 1.7 my $res = ApplySnapshot ($conn, $inpf, $multiplemaster);
61 dpavlin 1.1
62     if ($res > 0)
63     {
64     printf STDERR "Snapshot applied\n";
65     }
66     elsif ($res != 0)
67     {
68     printf STDERR "ERROR\n";
69     exit(1);
70     }
71    
72     exit(0);

  ViewVC Help
Powered by ViewVC 1.1.26