-
Notifications
You must be signed in to change notification settings - Fork 1
/
Install-Service.ps1
31 lines (24 loc) · 1.03 KB
/
Install-Service.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Install "NSSM - the Non-Sucking Service Manager" from chocolatey
# choco install nssm -y
# Create a logs folder
New-Item -Path "logs" -ItemType Directory -ErrorAction Ignore
$projectDir = "C:\projects\CodeSanook.DDNSUpdateClient"
nssm install UpdateDNS PowerShell -Command "Set-Location '$projectDir'; .\Start-UpdateDNS.ps1"
nssm set UpdateDNS Description "Update router's IP to noip.com periodically"
# Setup logging file
$logFolder = Join-Path $projectDir "logs"
$stdOutFile = Join-Path -Path $logFolder -ChildPath "std-out.txt"
$stdOutFile
$stdErrFile = Join-Path -Path $logFolder -ChildPath "std-err.txt"
$stdErrFile
nssm set UpdateDNS AppStdout $stdOutFile
nssm set UpdateDNS AppStderr $stdErrFile
$rotateInDay = 1 * 24 * 60
$rotateInBytes = 4 * 1024
nssm set UpdateDNS AppStdoutCreationDisposition 4
nssm set UpdateDNS AppStderrCreationDisposition 4
nssm set UpdateDNS AppRotateFiles 1
nssm set UpdateDNS AppRotateOnline 1
nssm set UpdateDNS AppRotateSeconds $rotateInDay
nssm set UpdateDNS AppRotateBytes $rotateInBytes
nssm start UpdateDNS