]> git.proxmox.com Git - pve-manager.git/blobdiff - bin/vzdump
fix #2890: also detect & renew DNS-only ACME certs
[pve-manager.git] / bin / vzdump
index 9a5afe7e3fafc986d28829c46794b3ed5d583073..75113871a65468cc0fa8fc2a9923e777140b6fe8 100755 (executable)
@@ -1,194 +1,8 @@
-#!/usr/bin/perl -w -T
+#!/usr/bin/perl -T
 
 use strict;
-use PVE::SafeSyslog;
-use PVE::INotify;
-use PVE::RPCEnvironment;
-use PVE::CLIHandler;
-use PVE::API2::VZDump;
+use warnings;
 
-use Data::Dumper; # fixme: remove
+use PVE::CLI::vzdump;
 
-use base qw(PVE::CLIHandler);
-
-$ENV{'PATH'} = '/sbin:/bin:/usr/sbin:/usr/bin';
-
-initlog('vzdump');
-
-die "please run as root\n" if $> != 0;
-
-PVE::INotify::inotify_init();
-
-my $rpcenv = PVE::RPCEnvironment->init('cli');
-
-$rpcenv->init_request();
-$rpcenv->set_language($ENV{LANG});
-$rpcenv->set_user('root@pam'); 
-
-
-my $cmddef = [ 'PVE::API2::VZDump', 'vzdump', 'vmid', undef, 
-              sub {
-                  my $upid = shift;
-                  my $status = PVE::Tools::upid_read_status($upid);
-                  exit($status eq 'OK' ? 0 : -1);
-              }];
-
-push @ARGV, 'help' if !scalar(@ARGV);
-
-PVE::CLIHandler::handle_simple_cmd($cmddef, \@ARGV, undef, $0);
-
-exit 0;
-
-__END__
-
-=head1 NAME
-
-vzdump - backup utility for virtual machine
-
-=head1 SYNOPSIS
-
-=include synopsis
-
-=head1 DESCRIPTION
-
-vzdump is an utility to make consistent snapshots of running virtual
-machines (VMs). It basically creates a tar archive of the VM private area,
-which also includes the VM configuration files. vzdump currently
-supports OpenVZ and QemuServer VMs.
-
-There are several ways to provide consistency (option C<mode>):
-
-=over 2
-
-=item C<stop> mode
-
-Stop the VM during backup. This results in a very long downtime.
-
-=item C<suspend> mode
-
-For OpenVZ, this mode uses rsync to copy the VM to a temporary
-location (see option --tmpdir). Then the VM is suspended and a second
-rsync copies changed files. After that, the VM is started (resume)
-again. This results in a minimal downtime, but needs additional space
-to hold the VM copy.
-
-For QemuServer, this mode work like C<stop> mode, but uses
-suspend/resume instead of stop/start.
-
-=item C<snapshot> mode
-
-This mode uses LVM2 snapshots. There is no downtime, but snapshot mode
-needs LVM2 and some free space on the corresponding volume group to
-create the LVM snapshot.
-
-=back 
-
-=head1 BACKUP FILE NAMES
-
-Newer version of vzdump encodes the virtual machine type and the
-backup time into the filename, for example
-
- vzdump-openvz-105-2009_10_09-11_04_43.tar
-
-That way it is possible to store several backup into the same
-directory. The parameter C<maxfiles> can be used to specify the maximal
-number of backups to keep.
-
-=head1 RESTORE
-
-The resulting tar files can be restored with the following programs.
-
-=over 1
-
-=item vzrestore: OpenVZ restore utility
-
-=item qmrestore: QemuServer restore utility
-
-=back
-
-For details see the corresponding manual pages.
-
-=head1 CONFIGURATION
-
-Global configuration is stored in /etc/vzdump.conf. 
-
- tmpdir: DIR
- dumpdir: DIR
- storage: STORAGE_ID
- mode: snapshot|suspend|stop
- bwlimit: KBPS
- ionize: PRI
- lockwait: MINUTES 
- stopwait: MINUTES 
- size: MB
- maxfiles: N
- script: FILENAME
-
-=head1 HOOK SCRIPT
-
-You can specify a hook script with option C<--script>. This script is called at various phases of the backup process, with parameters accordingly set. You can find an example in the documentation directory (C<vzdump-hook-script.pl>). 
-
-=head1 EXCLUSIONS (OpenVZ only)
-
-vzdump skips the following files wit option --stdexcludes
-
- /var/log/.+
- /tmp/.+
- /var/tmp/.+
- /var/run/.+pid
-
-You can manually specify exclude paths, for example:
-
- # vzdump 777 --exclude-path C</tmp/.+> --exclude-path C</var/tmp/.+>
-
-(only excludes tmp directories)
-
-Configuration files are also stored inside the backup archive (/etc/vzdump), and will be correctly restored.
-
-=head1 LIMITATIONS
-
-VZDump does not save ACLs.
-
-=head1 EXAMPLES
-
-Simply dump VM 777 - no snapshot, just archive the VM private area and configuration files to the default dump directory (usually /vz/dump/).
-
- # vzdump 777
-
-Use rsync and suspend/resume to create an snapshot (minimal downtime).
-
- # vzdump 777 --mode suspend
-
-Backup all VMs and send notification mails to root and admin.
-
- # vzdump --all --mode suspend --mailto root --mailto admin
-
-Use LVM2 to create snapshots (no downtime).
-
- # vzdump 777 --dumpdir /mnt/backup --mode snapshot
-
-Backup more than one VM (selectively)
-
- # vzdump 101 102 103 --mailto root
-
-Backup all VMs excluding VM 101 and 102
-
- # vzdump --mode suspend --exclude 101,102
-
-Restore an OpenVZ machine to VM 600
-
- # vzrestore /mnt/backup/vzdump-openvz-777.tar 600
-
-Restore an Qemu/KVM machine to VM 601
-
- # qmrestore /mnt/backup/vzdump-qemu-888.tar 601
-
-Clone an existing container 101 to container 300 using pipes
-
- # vzdump 101 --stdout|vzrestore - 300
-
-=head1 SEE ALSO
-
-vzrestore(1) qmrestore(1)
-
-=include pve_copyright
+PVE::CLI::vzdump->run_cli_handler();