bMINI
This commit is contained in:
@@ -1,83 +1,83 @@
|
||||
# Script to ensure Docker is running before scheduled backup
|
||||
$scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
|
||||
$logFile = Join-Path $scriptDir "backups\docker-status.log"
|
||||
$timestamp = Get-Date -Format "yyyy-MM-dd_HH-mm-ss"
|
||||
|
||||
# Ensure log directory exists
|
||||
$backupDir = Join-Path $scriptDir "backups"
|
||||
if (-not (Test-Path $backupDir)) {
|
||||
New-Item -ItemType Directory -Path $backupDir
|
||||
}
|
||||
|
||||
"[$timestamp] Checking Docker status..." | Out-File -Append -FilePath $logFile
|
||||
|
||||
# Check if Docker Desktop is running
|
||||
$dockerProcess = Get-Process "Docker Desktop" -ErrorAction SilentlyContinue
|
||||
if ($null -eq $dockerProcess) {
|
||||
"[$timestamp] Docker Desktop is not running. Attempting to start..." | Out-File -Append -FilePath $logFile
|
||||
|
||||
# Path to Docker Desktop
|
||||
$dockerPath = "C:\Program Files\Docker\Docker\Docker Desktop.exe"
|
||||
if (Test-Path $dockerPath) {
|
||||
Start-Process $dockerPath
|
||||
"[$timestamp] Started Docker Desktop." | Out-File -Append -FilePath $logFile
|
||||
|
||||
# Wait for Docker to start up (give it 60 seconds)
|
||||
$maxWaitTime = 60
|
||||
$waitTime = 0
|
||||
$dockerRunning = $false
|
||||
|
||||
while (-not $dockerRunning -and $waitTime -lt $maxWaitTime) {
|
||||
Start-Sleep -Seconds 5
|
||||
$waitTime += 5
|
||||
|
||||
try {
|
||||
$dockerStatus = docker info 2>&1
|
||||
if ($LASTEXITCODE -eq 0) {
|
||||
$dockerRunning = $true
|
||||
"[$timestamp] Docker is now running after waiting $waitTime seconds." | Out-File -Append -FilePath $logFile
|
||||
}
|
||||
} catch {
|
||||
# Keep waiting
|
||||
}
|
||||
}
|
||||
|
||||
if (-not $dockerRunning) {
|
||||
"[$timestamp] Docker did not start successfully after waiting $maxWaitTime seconds." | Out-File -Append -FilePath $logFile
|
||||
}
|
||||
} else {
|
||||
"[$timestamp] Docker Desktop executable not found at expected location: $dockerPath" | Out-File -Append -FilePath $logFile
|
||||
}
|
||||
} else {
|
||||
"[$timestamp] Docker Desktop is already running." | Out-File -Append -FilePath $logFile
|
||||
}
|
||||
|
||||
# Check if containers are running
|
||||
try {
|
||||
$containersRunning = docker ps 2>&1
|
||||
if ($LASTEXITCODE -eq 0) {
|
||||
"[$timestamp] Docker containers status: " | Out-File -Append -FilePath $logFile
|
||||
$runningContainers = docker ps --format "{{.Names}}" 2>&1
|
||||
$runningContainers | Out-File -Append -FilePath $logFile
|
||||
|
||||
# Check specifically for gitea containers
|
||||
$giteaRunning = $runningContainers | Select-String -Pattern "gitea" -Quiet
|
||||
if (-not $giteaRunning) {
|
||||
"[$timestamp] Gitea containers are not running. Starting containers..." | Out-File -Append -FilePath $logFile
|
||||
|
||||
# Navigate to gitea-docker directory and start containers
|
||||
Set-Location $scriptDir
|
||||
docker-compose up -d 2>&1 | Out-File -Append -FilePath $logFile
|
||||
|
||||
if ($LASTEXITCODE -eq 0) {
|
||||
"[$timestamp] Successfully started Gitea containers." | Out-File -Append -FilePath $logFile
|
||||
} else {
|
||||
"[$timestamp] Failed to start Gitea containers." | Out-File -Append -FilePath $logFile
|
||||
}
|
||||
}
|
||||
} else {
|
||||
"[$timestamp] Failed to check running containers. Docker might not be ready yet." | Out-File -Append -FilePath $logFile
|
||||
}
|
||||
} catch {
|
||||
"[$timestamp] Error checking Docker containers: $_" | Out-File -Append -FilePath $logFile
|
||||
# Script to ensure Docker is running before scheduled backup
|
||||
$scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
|
||||
$logFile = Join-Path $scriptDir "backups\docker-status.log"
|
||||
$timestamp = Get-Date -Format "yyyy-MM-dd_HH-mm-ss"
|
||||
|
||||
# Ensure log directory exists
|
||||
$backupDir = Join-Path $scriptDir "backups"
|
||||
if (-not (Test-Path $backupDir)) {
|
||||
New-Item -ItemType Directory -Path $backupDir
|
||||
}
|
||||
|
||||
"[$timestamp] Checking Docker status..." | Out-File -Append -FilePath $logFile
|
||||
|
||||
# Check if Docker Desktop is running
|
||||
$dockerProcess = Get-Process "Docker Desktop" -ErrorAction SilentlyContinue
|
||||
if ($null -eq $dockerProcess) {
|
||||
"[$timestamp] Docker Desktop is not running. Attempting to start..." | Out-File -Append -FilePath $logFile
|
||||
|
||||
# Path to Docker Desktop
|
||||
$dockerPath = "C:\Program Files\Docker\Docker\Docker Desktop.exe"
|
||||
if (Test-Path $dockerPath) {
|
||||
Start-Process $dockerPath
|
||||
"[$timestamp] Started Docker Desktop." | Out-File -Append -FilePath $logFile
|
||||
|
||||
# Wait for Docker to start up (give it 60 seconds)
|
||||
$maxWaitTime = 60
|
||||
$waitTime = 0
|
||||
$dockerRunning = $false
|
||||
|
||||
while (-not $dockerRunning -and $waitTime -lt $maxWaitTime) {
|
||||
Start-Sleep -Seconds 5
|
||||
$waitTime += 5
|
||||
|
||||
try {
|
||||
$dockerStatus = docker info 2>&1
|
||||
if ($LASTEXITCODE -eq 0) {
|
||||
$dockerRunning = $true
|
||||
"[$timestamp] Docker is now running after waiting $waitTime seconds." | Out-File -Append -FilePath $logFile
|
||||
}
|
||||
} catch {
|
||||
# Keep waiting
|
||||
}
|
||||
}
|
||||
|
||||
if (-not $dockerRunning) {
|
||||
"[$timestamp] Docker did not start successfully after waiting $maxWaitTime seconds." | Out-File -Append -FilePath $logFile
|
||||
}
|
||||
} else {
|
||||
"[$timestamp] Docker Desktop executable not found at expected location: $dockerPath" | Out-File -Append -FilePath $logFile
|
||||
}
|
||||
} else {
|
||||
"[$timestamp] Docker Desktop is already running." | Out-File -Append -FilePath $logFile
|
||||
}
|
||||
|
||||
# Check if containers are running
|
||||
try {
|
||||
$containersRunning = docker ps 2>&1
|
||||
if ($LASTEXITCODE -eq 0) {
|
||||
"[$timestamp] Docker containers status: " | Out-File -Append -FilePath $logFile
|
||||
$runningContainers = docker ps --format "{{.Names}}" 2>&1
|
||||
$runningContainers | Out-File -Append -FilePath $logFile
|
||||
|
||||
# Check specifically for gitea containers
|
||||
$giteaRunning = $runningContainers | Select-String -Pattern "gitea" -Quiet
|
||||
if (-not $giteaRunning) {
|
||||
"[$timestamp] Gitea containers are not running. Starting containers..." | Out-File -Append -FilePath $logFile
|
||||
|
||||
# Navigate to gitea-docker directory and start containers
|
||||
Set-Location $scriptDir
|
||||
docker-compose up -d 2>&1 | Out-File -Append -FilePath $logFile
|
||||
|
||||
if ($LASTEXITCODE -eq 0) {
|
||||
"[$timestamp] Successfully started Gitea containers." | Out-File -Append -FilePath $logFile
|
||||
} else {
|
||||
"[$timestamp] Failed to start Gitea containers." | Out-File -Append -FilePath $logFile
|
||||
}
|
||||
}
|
||||
} else {
|
||||
"[$timestamp] Failed to check running containers. Docker might not be ready yet." | Out-File -Append -FilePath $logFile
|
||||
}
|
||||
} catch {
|
||||
"[$timestamp] Error checking Docker containers: $_" | Out-File -Append -FilePath $logFile
|
||||
}
|
||||
Reference in New Issue
Block a user