我尝试了以下三种方法来清理旧的备份文件,但没有一种方法可以使用。我们需要您的帮助才能完成。
方式1:创建维护清理作业,作业成功执行但备份未删除文件。
方式2:使用xp_delete_file
命令尝试。
使用的脚本:
EXECUTE master.sys.xp_delete_file 0,N'\\XXX\YYY',N'bak',N'2014-05-12T07:34:14'
错误讯息:
以用户身份执行:DOMAIN \ user。无法创建该过程 作业的第3步0x307C7663CBCA6D4187B1953745E1E02F(原因:系统 找不到指定的文件)。步骤失败了。
方式3:尝试使用电源shell脚本
使用的脚本:
$Path = "\\xxx\yyy"
$Daysback = "-30"
$CurrentDate = Get-Date
$DatetoDelete = $CurrentDate.AddDays($Daysback)
Get-ChildItem $Path -Recurse -include *.bak| Where-Object { $_.LastWriteTime -lt $DatetoDelete } | remove-item -force
错误讯息:
以用户身份执行:DOMAIN \ user ..作业脚本遇到了 以下错误。
这些错误并没有停止脚本:作业步骤收到错误 PowerShell脚本中的第9行。
相应的行是' Get-ChildItem $ Path -Recurse -include * .txt,* .bak | Where-Object {$ _.LastWriteTime -lt $ DatetoDelete} | remove-item -force'。更正脚本并重新安排作业。该 PowerShell返回的错误信息是:'无法找到路径 ' \ XXX \ YYY'因为它不存在&#39 ;.处理退出代码0 步骤成功。
Powershell脚本在powershell窗口中成功执行,但在powershall任务中未执行。我也创建了代理帐户,用户对共享路径拥有权限,并使用poroxy帐户运行任务。
请帮我解决这个问题。
答案 0 :(得分:0)
路径名称的末尾需要有一个反斜杠,所以' \\ XXX \ YYY'需要是' \\ XXX \ YYY \' (注意额外的反斜杠) - 所以命令变为:
EXECUTE master.sys.xp_delete_file 0,N'\\XXX\YYY\',N'bak',N'2014-05-12T07:34:14'