动手建立Veeam免费版的备份计划任务

Veeam对于备份虚拟机而言,挺不错的,而且还有免费版,目前最新的是Veeam Backup Free Edition 9.5。

  • 免费版只能使用VeeamZip进行完整备份,不能设置备份计划(Backup Job)。
  • 收费版可以设置备份计划,会自动进行增量备份,也可以在计划内设置完整备份的时间。

因此,免费版每天的备份量是很大的,有条件的可以考虑使用收费版。
言归正传,我们现在来设置一下,让免费版也有计划任务。
免费版在程序界面是设置不了计划的,谁让它是免费的呢,但是我们可以借助PowerShell和PS脚本,手动来做个包含批量备份的计划任务。

# VM names separated by commas
$VMNames = "Windows Server 1","Windows Server 2","CentOS 7"

# vCenter name/IP
$HostName = "192.168.0.1"

# Directory that VM backups should go to
$Directory = "D:\Backup"

# Desired compression level, following compression level from Veeam (Optional)
$CompressionLevel = "10"

# Quiesce VM when taking snapshot (Optional; VMware Tools are required; Possible values: $True/$False)
$EnableQuiescence = $True

# Protect resulting backup with encryption key (Optional; $True/$False)
$EnableEncryption = $False

# Encryption Key (Optional; path to a secure string, C:\SecureString.txt"
$EncryptionKey = ""

# Retention settings (Optional; By default, VeeamZIP files are not removed and kept in the specified location for an indefinite period of time.
# Possible values: Never , Tonight, TomorrowNight, In3days, In1Week, In2Weeks, In1Month)
$Retention = "In1Week"

# Email Settings

# Enable notification (Optional)
$EnableNotification = $True

# Email SMTP server
$SMTPServer = "smtp.smtp.com"

# Email FROM
$EmailFrom = "[email protected]"

# Email TO
$EmailTo = "[email protected]"

# Email subject
$EmailSubject = "Veeam Backup Job"
# Email formatting

$style = "<style>BODY{font-family: Arial; font-size: 10pt;}"
$style = $style + "TABLE{border: 1px solid black; border-collapse: collapse;}"
$style = $style + "TH{border: 1px solid black; background: #54b948; padding: 5px; }"
$style = $style + "TD{border: 1px solid black; padding: 5px; }"
$style = $style + "</style>"

##################################################################
# End User Defined Variables
##################################################################

#################### DO NOT MODIFY PAST THIS LINE ################
Asnp VeeamPSSnapin

$Server = Get-VBRServer -name $HostName
$mbody = @()

foreach ($VMName in $VMNames)
{
$VM = Find-VBRViEntity -Name $VMName -Server $Server
$ZIPSession = Start-VBRZip -Entity $VM -Folder $Directory -Compression $CompressionLevel -DisableQuiesce:(!$EnableQuiescence) -AutoDelete $Retention

If ($EnableNotification)
{
$TaskSessions = $ZIPSession.GetTaskSessions()
$FailedSessions = $TaskSessions | where {$_.status -eq "EWarning" -or $_.Status -eq "EFailed"}

if ($FailedSessions -ne $Null)
{
$mbody = $mbody + ($ZIPSession | Select-Object @{n="Name";e={($_.name).Substring(0, $_.name.LastIndexOf("("))}} ,@{n="Start Time";e={$_.CreationTime}},@{n="End Time";e={$_.EndTime}},Result,@{n="Details";e={$FailedSessions.Title}})
}

Else
{
$mbody = $mbody + ($ZIPSession | Select-Object @{n="Name";e={($_.name).Substring(0, $_.name.LastIndexOf("("))}} ,@{n="Start Time";e={$_.CreationTime}},@{n="End Time";e={$_.EndTime}},Result,@{n="Details";e={($TaskSessions | sort creationtime -Descending | select -first 1).Title}})
}

}
}
If ($EnableNotification)
{
$Message = New-Object System.Net.Mail.MailMessage $EmailFrom, $EmailTo
$Message.Subject = $EmailSubject
$Message.IsBodyHTML = $True
$message.Body = $mbody | ConvertTo-Html -head $style | Out-String
#$SMTP = New-Object Net.Mail.SmtpClient($SMTPServer)
#$SMTP.Send($Message)
}

VMNames:后面跟虚拟机的名字,在vCenter、ESXi上显示的名字
HostName:vCenter服务器的IP或域名,我只在vCenter上面试过,因为涉及到多台服务器。如果没有vCenter并且要备份多台服务器里的虚拟机,不清楚能不能像vmnames这样做一个foreach。
Directory:目录,支持网络路径,即\192.168.x.x\Folder
CompressionLevel :默认是4,数字越大压缩率越高,相关文档没介绍这个值可以最大多少
Retention:这个没有测过,备份保存天数。In1Week是保存一周。不清楚会不会自动删除旧备份。如果不会删,看我之前的一个帖子,手动写个清理脚本也可以。
EMAIL那部分就是SMTP地址、发件人、收件人,最后两行我注释掉了,如果需要发送邮件,去掉最后两行的注释就可以。

然后保存这个脚本,可以放到C盘,起名VeeamZip.ps1
PowerShell路径:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
计划任务里,设置powershell的路径,参数设置"C:\VeeamZip.ps1"

OK,设置个任务它就可以自动备份了,添加完后可以手动执行一下看看效果。

以上脚本参考外国网站,具体哪个网站我没记,搜索一下应该可以搜索到原文的。

原文地址:http://blog.51cto.com/cto99/2124918

时间: 2024-11-05 23:35:49

动手建立Veeam免费版的备份计划任务的相关文章

排错之网络映射缓存凭证记录导致备份计划任务失败

技术在于分享,今天为大家带了的是一篇生产环境中排错的文章,希望对大家以后在工作中排错有参考意义.不说了直接上干货: 问题描述: 客户设置N条计划任务每天定期备份对应数据库及相关日志文件等信息,在域策略到期后更改域账户密码信息后,在各个服务器端更新凭据验证后所有服务器计划任务均正常执行,唯独在2003这台服务器上的备份计划一直失败,客户相关服务人研究N久未果并暂时通过手动备份以做好备份工作并交由我方解决事件问题. 相关报错信息截图如下: \\server\c$ is not accessible.

SQL Server 2008R2创建自动备份计划

本文主要利用SQL Server 2008 R2自带的"维护计划"创建一个自动备份数据的任务. 首先,如果SQL Server代理处于以下状态,右击启动就可以了(如果启动请跳过此步骤). 第二步,依次展开"管理"---"维护计划",并右击"维护计划"选择"新建维护计划",这里需要填写备份数据库的名字. 点击"确定"后,将会打开如下界面,红框中的两个地方是我们需要注意的地方. 第三步,点击

sql server创建备份计划

对于备份计划,在sql server中微软提供了相应的功能集,通过Maintenance Plans向导可以对数据库进行相关维护工作. 通过下图的向导,可以进行如定期备份和清除工作. 前提是安装介质包含了sql server维护的功能,并且正常启动了sql server agent服务.而在express版本中并没有提供维护计划功能集. 而对于express版本,我们可以通过windows的任务计划来实现备份操作. 首先我们写一串sql语句,用作备份清理计划. 1 --bk-- 2 declar

用友新建帐套“设置备份计划”时提示“已经有用户使用【备份计划管理】,不能调整”

USE UFSystem SEELCT   * from ua_tasklog where cStation='登录的机器名' and cSub_Id='dp' DELETE from ua_tasklog where cStation='登录的机器名' and cSub_Id='dp' 用友新建帐套"设置备份计划"时提示"已经有用户使用[备份计划管理],不能调整"

server backup 2008/2012的多任务备份计划

server backup 2008/2012的多任务备份计划 版权声明:原创作品,如需转载,请与作者联系.否则将追究法律责任. 最近有看到有人经常提问server backup 2008/2012怎么做周备份.月备份之类的,所以特发此文章以尽量帮助大家,用windows server backup来解决备份问题,而不用购买使用symantec backup exec来解决数据备份,当然backup exec很专业,支持远程备份,磁带备份等功能! 官方给出的介绍: Windows Server

利用SQL Server 2008 R2创建自动备份计划

本文主要利用SQL Server 2008 R2自带的"维护计划"创建一个自动备份数据的任务. 首先,启动?Sql Management studio,确保"SQL Server 代理"处于启动状态.如果没有,可以右击选择"启动". 第二步,依次展开"管理"---"维护计划",并右击"维护计划"选择"新建维护计划",这里你可以填写一个合适的有意义的名字. 点击&quo

oracle数据库rman备份计划及恢复

1.rman完全恢复的前提条件:历史的datafile,controlfile和spfile备份,加上完整的archivelog和完好的redolog. 2.rman备份脚本: a.RMAN 0级备份命令: run{ allocate channel c1 type disk; allocate channel c2 type disk; allocate channel c3 type disk; backup incremental level 0 tag 'level0' format "

数据库备份 计划任务

只需按照下面3步做,一切都在你的掌控之下: 第一步:在服务器上配置备份目录代码: -------------------------------------------------------------------------------- mkdir /var/lib/mysqlbackup cd /var/lib/mysqlbackup -----------------------------------------------------------------------------

【转】SQLServer 2008以上误操作数据库恢复方法——日志尾部备份

4号,公司的生产数据表被全部删除,目前没有找到原因,由于刚接触SQL不久,所以短时间内不会还原,也不敢动被原服务器,于是就将原服务器停掉,拷贝出里面的PPD数据库文件,留作备份:近几天在自己的电脑上尝试修复,一直没有成功,细读了一下<SQL2005技术内幕——存储引擎>了解到删除列.删除表这些操作不会直接对每一行数据进行操作,而是直接改变他们的物理指向地址的ID,专业术语我也不是很清楚,我的理解是这样的,有时间再弄清楚,不过这足以让我明白被删除的表还是存在mdf文件中,其改变的便宜地址记录在日