備份Aunetix數據和設置
備份您的Acunetix數據和設置很重要,這應該經常進行,尤其是在生產系統上。這篇文章將展示如何手動執行此操作,還將提供PowerShell中的示例實現自動化該過程。
停止Acunetix服務
在進行備份之前,請確保沒有任何掃描正在運行,并停止與Acunetix關聯的兩個服務-“ Acunetix”和“ Acunetix數據庫”服務。
您可以從Windows任務管理器或PowerShell提示中執行以下操作。
Stop-Service -DisplayName 'Acunetix'
Stop-Service -DisplayName 'Acunetix Database'
備份文件和數據
下一步是備份文件和數據。Acunetix將其所有數據存儲在C:\ ProgramData \ Acunetix 11中。雖然您可以根據需要簡單地備份和還原整個目錄,但是您可能希望從備份中省略下面列出的目錄。
- Logs – C:\ ProgramData \ Acunetix 11 \ Logs目錄包含Acunetix生成的日志文件。由于Acunetix日志主要用于調試目的,因此您可能希望從備份中忽略它們。
- Scan Logs – C:\ ProgramData \ Acunetix 11 \ share \ scans目錄包含掃描日志和其他用于故障排除的文件。由于此類數據用于調試,因此您可能希望從備份中忽略它們。
- Updates – C:\ ProgramData \ Acunetix 11 \ share \ updates目錄包含Acunetix下載的更新。如果需要,這些更新將由Acunetix重新下載,并且可以從備份中省略。
重新啟動Acunetix服務
復制完所需的所有文件后,要重新啟動Acunetix,只需重新啟動先前停止的兩個服務即可。
您可以從Windows任務管理器或PowerShell提示中執行以下操作。
Start-Service -DisplayName 'Acunetix'
Start-Service -DisplayName 'Acunetix Database'
自動備份
以下是使用PowerShell 5.0的上述備份過程的示例實現。當然,您可以進一步自定義此設置以滿足您的要求。
# Check if user running this script is an Administrator
If (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole(`
[Security.Principal.WindowsBuiltInRole] "Administrator"))
{
Write-Warning "You do not have Administrator rights to run this script`nPlease re-run this script as an Administrator"
Break
}
# Set variables
$src = 'C:\ProgramData\Acunetix 11\*' # Source directory
$dst = 'C:\backup' # Destination directory
$wrk = Join-Path -ChildPath 'tmp' -Path $dst # Working directory
$excls = @('logs','shared\scans','shared\updates')
# Stop Acunetix
Stop-Service -DisplayName 'Acunetix'
Stop-Service -DisplayName 'Acunetix Database'
# Create the working directory
mkdir -Path $wrk -Force
# Copy files
Copy-Item -Path $src -Destination $wrk -Recurse
# Remove excluded directories from backup
ForEach($excl in $excls)
{
$del = Join-Path -ChildPath $excl -Path $dst
If(Test-Path $del){
Remove-Item $del -Recurse
}
}
# Create a ZIP archive
$zip_name = $(Get-Date -f yyyyMMddHHmmss) + '-acunetix-archive.zip'
$zip_path = Join-Path -ChildPath $zip_name -Path $dst
Compress-Archive -Path "$wrk\*" -DestinationPath $zip_path
# Remove all working files
Remove-Item $wrk -Recurse
# Start Acunetix
Start-Service -DisplayName 'Acunetix'
Start-Service -DisplayName 'Acunetix Database'
推薦文章: