rotate-log-files.ps1 #2

  • //
  • guest/
  • perforce_software/
  • sdp/
  • main/
  • Server/
  • Windows/
  • p4/
  • common/
  • bin/
  • rotate-log-files.ps1
  • View
  • Commits
  • Open Download .zip Download (2 KB)
# ============================================================================
# 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
# ----------------------------------------------------------------------------

<#
    .Synopsis
        rotate-log-fiels.ps1 rotates key log files for service. For use with replicas.
        
    .Description
        Rotates all log files found and zips them.
        Useful for replicas which may not otherwise have scheduled tasks set.
        
    .Parameter sdp-instance
        The specified SDP instance to verify
        
    .Example
        rotate-log-files.ps1 Master
        
    .Example
        rotate-log-files.ps1 1
#>

[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
#3 27331 C. Thomas Tyler Released SDP 2020.1.27325 (2021/01/29).
Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'.
#2 23006 C. Thomas Tyler Released SDP 2017.3.23003 (2017/10/19).
Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'.
#1 22931 Robert Cowham Updated docs for Windows.
New rotate-log-files script.
Working upgrade.ps1
//guest/perforce_software/sdp/dev/Server/Windows/p4/common/bin/rotate-log-files.ps1
#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.