File: hook-script.pl

package info (click to toggle)
vzdump 1.2.6-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 148 kB
  • ctags: 91
  • sloc: perl: 1,351; makefile: 143
file content (55 lines) | stat: -rwxr-xr-x 1,162 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/usr/bin/perl -w

# example hook script for vzdump (--script option)

use strict;

print "HOOK: " . join (' ', @ARGV) . "\n";

my $phase = shift;

if ($phase eq 'job-start' || 
    $phase eq 'job-end'  || 
    $phase eq 'job-abort') { 

    # do what you want 

} elsif ($phase eq 'backup-start' || 
	 $phase eq 'backup-end' ||
	 $phase eq 'backup-abort' || 
	 $phase eq 'pre-stop' ||
	 $phase eq 'pre-restart') {

    print "HOOK: " . join (' ', @ARGV) . "\n";

    my $mode = shift; # stop/suspend/snapshot

    my $vmid = shift;

    my $vmtype = $ENV{VMTYPE}; # openvz/qemu

    my $dumpdir = $ENV{DUMPDIR};

    my $hostname = $ENV{HOSTNAME};

    my $tarfile = $ENV{TARFILE};

    my $logfile = $ENV{LOGFILE};

    print "HOOK-ENV: vmtype=$vmtype;dumpdir=$dumpdir;hostname=$hostname;tarfile=$tarfile;logfile=$logfile\n";

    # example: copy resulting files to another host using scp
    #if ($phase eq 'backup-end') {
    #	system ("scp $tarfile $logfile backup-host:/backup-dir") == 0 ||
    #	    die "copy to backup-host failed";
    #	unlink $tarfile;
    #	unlink $logfile;
    #}
    
} else {

    die "got unknown phase '$phase'";

}

exit (0);