Today I added the components that create a logfile and cleans up the working directory when done. The idea behind the logfile is that using the information in it a person with no knowledge about the original backup could use the files to create a running restore of the VM. I may someday create a restore script, but not today. The cleanup portion is not working 100%, but good enough that I will use the script in my production starting today. I will debug and fix it later. Here is the Bareos job log for my first full & successful running of the script/backup combo:
bareos-dir Job vmguest-FullImage.2013-10-21_16.02.35_06 waiting 50 seconds for scheduled start time. bareos-dir shell command: run BeforeJob "/usr/lib/bareos/scripts/vmprep.py -v vmguest.domain.local" bareos-dir BeforeJob: Found the VMX file and copied it to the backup location /mnt/vmbackup/ BeforeJob: Successfully created a snapshot for your VM BeforeJob: successfully backed up /vmfs/volumes/datastore1/vmguest.domain.local/vmguest.domain.local.vmdk to the backup location /mnt/vmbackup/ BeforeJob: successfully backed up /vmfs/volumes/550a2145-64112148/vmguest.domain.local/vmguest.domain.local_1.vmdk to the backup location /mnt/vmbackup/ BeforeJob: I deleted the snapshot I took earlier, all is good. Start Backup JobId 226, Job=vmguest-FullImage.2013-10-21_16.02.35_06 Using Device "FileStorage" to write. bareos-sd Volume "VM0015" previously written, moving to end of data. Ready to append to end of Volume "VM0015" size=64551931043 bareos-sd User defined maximum volume capacity 107,374,182,400 exceeded on device "FileStorage" (/home/bareos/storage). bareos-sd End of medium on Volume "VM0015" Bytes=107,374,157,986 Blocks=1,664,406 at 21-Oct-2013 16:23. bareos-dir Created new Volume "VM0016" in catalog. bareos-sd Labeled new Volume "VM0016" on device "FileStorage" (/home/bareos/storage). Wrote label to prelabeled Volume "VM0016" on device "FileStorage" (/home/bareos/storage) New volume "VM0016" mounted on device "FileStorage" (/home/bareos/storage) at 21-Oct-2013 16:23. bareos-sd Elapsed time=00:17:42, Transfer rate=44.48 M Bytes/second bareos-dir Bareos bareos-dir 12.4.4 (12Jun13): Build OS: x86_64-unknown-linux-gnu redhat CentOS release 6.2 (Final) JobId: 226 Job: vmguest-FullImage.2013-10-21_16.02.35_06 Backup Level: Full Client: "bareos-fd" 12.4.4 (12Jun13) x86_64-unknown-linux-gnu,redhat,CentOS release 6.2 (Final) FileSet: "VM Image Backup NFS Folder" 2013-10-19 16:56:07 Pool: "VMImage" (From command line) Catalog: "MyCatalog" (From Pool resource) Storage: "File" (From command line) Scheduled time: 21-Oct-2013 16:03:25 Start time: 21-Oct-2013 16:07:24 End time: 21-Oct-2013 16:25:08 Elapsed time: 17 mins 44 secs Priority: 10 FD Files Written: 7 SD Files Written: 7 FD Bytes Written: 47,245,718,876 (47.24 GB) SD Bytes Written: 47,245,719,792 (47.24 GB) Rate: 44403.9 KB/s Software Compression: None VSS: no Encryption: no Accurate: no Volume name(s): VM0015|VM0016 Volume Session Id: 18 Volume Session Time: 1382202217 Last Volume Bytes: 4,458,527,606 (4.458 GB) Non-fatal FD errors: 0 SD Errors: 0 FD termination status: OK SD termination status: OK Termination: Backup OK shell command: run AfterJob "/usr/lib/bareos/scripts/vmprep.py -v vmguest.domain.local -p" bareos-dir AfterJob: I couldn't find file /mnt/vmbackup/vmguest.domain.local.vmdk! AfterJob: You may want to look at /mnt/vmbackup/ AfterJob: Cleaned out the backup location, ready for the next round.
Per the request below I’ve attached my vmprep.py script (rename vmprep.py.txt to vmprep.py). I’m not a programmer, so don’t hate me if it blows up your stuff.
hello,
are you wiling to share your vmprep.py script?