# ============================================================================
# Copyright and license info is available in the LICENSE file included with
# the Server Deployment Package (SDP), and also available online:
# https://swarm.workshop.perforce.com/projects/perforce-software-sdp/view/main/LICENSE
# ----------------------------------------------------------------------------
# tag::includeManual[]
<#
.Synopsis
rotate-log-files.ps1 rotates key log files for service.
.Description
Rotates all log files found and zips them.
Useful for replicas which may not otherwise have scheduled tasks set.
For use in Windows Task Scheduler.
.Parameter sdp-instance
The specified SDP instance to verify
.Example
rotate-log-files.ps1 Master
.Example
rotate-log-files.ps1 1
#>
# end::includeManual[]
[CmdletBinding()]
param ([string]$SDPInstance = $(throw "SDPInstance parameter is required."))
Set-StrictMode -Version 2.0
# Source the SDP Functions shared between scripts
$SDPFunctionsPath = Split-Path -parent $MyInvocation.MyCommand.Path | Join-Path -childpath "SDP-Functions.ps1"
. $SDPFunctionsPath
$global:ScriptName = "rotate-log-files.ps1"
$global:ScriptTask = "Rotate Log Files"
$global:LogFileName = "rotate-log-files.log"
Parse-SDPConfigFile $MyInvocation.MyCommand.Path
Create-LogFile
$OrigPath = convert-path .
Set-Location -Path $global:LOGS_DIR
try {
Invoke-P4Login
Get-CurrentJournalCounter
Rotate-LogFiles
Remove-OldLogs
Log "End ${global:SDP_INSTANCE_P4SERVICE_NAME} ${global:ScriptTask}"
# Don't bother emailing on success
Write-Output "`r`n${global:ScriptTask} completed successfully - see ${global:logfile}"
}
Catch
{
write-error $error[0].ScriptStackTrace
LogException $_.Exception
Send-Email "FAILED: ${env:computername} ${global:SDP_INSTANCE_P4SERVICE_NAME} ${global:ScriptTask} log."
Write-Output "`r`nFAILED - ${global:ScriptTask} - see ${global:logfile}"
}
Set-Location -Path $OrigPath
| # | Change | User | Description | Committed | |
|---|---|---|---|---|---|
| #1 | 31397 | C. Thomas Tyler | Populate -b SDP_Classic_to_Streams -s //guest/perforce_software/sdp/...@31368. | ||
| //guest/perforce_software/sdp/dev/Server/Windows/p4/common/bin/rotate-log-files.ps1 | |||||
| #3 | 26659 | Robert Cowham |
Removing out-of-date files and ancient utilities. Updating SDP Guide for Windows with includes to various .ps1 scripts Add new sync-replica.ps1 and call it from sync_replica.bat |
||
| #2 | 22984 | Robert Cowham | Make sure rotate works | ||
| #1 | 22922 | Robert Cowham |
Add a utility to rotate log files - good as a scheduled task for replicas who may not have other jobs scheduled. |
||