Привет всем, я пытаюсь добавить имя хоста CTID (контейнеры openvz) в резервные файлы, которые создаются на этих контейнерах. Я пробовал использовать hookfile, но это не дало никаких результатов при передаче параметра --script hookfile.pl. Может кто-то помочь? Это раздражающая проблема, так как контейнер с CTID 110 может быть перезаписан новым контейнером, если предыдущий будет уничтожен. #!/usr/bin/perl -w # пример скрипта хука для vzdump (опция --script) use strict; use File::Copy qw(move); my $basedir="/mnt/backups/"; print "HOOK: " . join (' ', @ARGV) . "\n"; my $phase = shift; if ($phase eq 'backup-end' ){ my $mode = shift; # остановка/приостановка/снимок my $vmid = shift; my $vmtype = $ENV{VMTYPE} if defined ($ENV{VMTYPE}); # openvz/qemu my $dumpdir = $ENV{DUMPDIR} if defined ($ENV{DUMPDIR}); my $hostname = $ENV{HOSTNAME} if defined ($ENV{HOSTNAME}); # tar-файл доступен только на этапе 'backup-end' my $tarfile = $ENV{TARFILE} if defined ($ENV{TARFILE}); # лог-файл доступен только на этапе 'log-end' my $logfile = $ENV{LOGFILE} if defined ($ENV{LOGFILE}); print "HOOK-ENV: vmtype=$vmtype;dumpdir=$dumpdir;hostname=$hostname;tarfile=$tarfile;logfile=$logfile\n"; if ($phase eq 'backup-end' and defined ($tarfile) and defined ($hostname)) { if ( $tarfile=~/($basedir\/vzdump-(qemu|openvz)-\d+-)(\d\d\d\d_.+)/ ){ my $tarfile2=$1.$hostname."-".$3; print "HOOK: Переименование файла $tarfile в $tarfile2\n"; move $tarfile, $tarfile2; } } } exit (0);
