57 lines
1.7 KiB
PowerShell
57 lines
1.7 KiB
PowerShell
############### MAIN ###############
|
|
$Main =
|
|
{
|
|
[CmdletBinding()]
|
|
Param(
|
|
[Parameter(Mandatory=$true)]
|
|
[ValidateNotNullOrEmpty()]
|
|
[string] $destHost,
|
|
[Parameter(Mandatory=$false)]
|
|
[string[]] $apps
|
|
)
|
|
If($PSBoundParameters.ContainsKey("apps")) {
|
|
foreach ($appname in $apps)
|
|
{
|
|
copyfolder $destHost "$appname\stacks" $appname
|
|
}
|
|
}
|
|
else {
|
|
$appname="$pwd".Split("\\")[-1]
|
|
copyfolder $destHost "stacks" $appname
|
|
}
|
|
}
|
|
|
|
###################################
|
|
Function copyfolder
|
|
{
|
|
[CmdletBinding()]
|
|
Param(
|
|
[Parameter(Mandatory=$true)]
|
|
[ValidateNotNullOrEmpty()]
|
|
[string] $destHost,
|
|
|
|
[Parameter(Mandatory=$true)]
|
|
[ValidateNotNullOrEmpty()]
|
|
[string] $srcdir,
|
|
|
|
[Parameter(Mandatory=$true)]
|
|
[ValidateNotNullOrEmpty()]
|
|
[string] $appname
|
|
)
|
|
if (-Not(Test-Path -Path $srcdir)) {
|
|
Write-Host "Source path doesn't exist: ""$PSScriptRoot\$srcdir\*.*"". No files copied!" -ForegroundColor Red
|
|
Write-Host "Usage: in app folder : ./cp2nas DEST|IP"
|
|
Write-Host " in app parent folder: ./cp2nas DEST|IP app1, app2, app3, ..."
|
|
return
|
|
}
|
|
$destStacks="/mnt/SSD1/docker/stacks/"
|
|
$destDir=$destStacks+$appname+"/"
|
|
Write-Host "pscp -P 22 -r ""$srcdir\*.*"" root@${destHost}:""${destDir}""" -ForegroundColor Green
|
|
Write-Host "Copying to ${destHost}:""${destStacks}" -NoNewline
|
|
Write-Host "${appname}/" -ForegroundColor DarkYellow -NoNewline
|
|
Write-Host """:"
|
|
pscp -P 22 -r "$srcdir\*.*" root@${destHost}:""${destDir}""
|
|
}
|
|
|
|
###################################
|
|
& $Main @Args |