pscp でログを落として、zip で固めて保存する

$PSCP = "C:\tools\putty\pscp.exe -p" # -p は timestamp を保持
$7Z = "C:\Program Files\7-Zip\7z.exe"

@(
	@{
		"host" = "192.168.0.1"
		"user" = "user"
		"pass" = "password"
		"src"  = "/var/log/httpd/*.1"
		"dst"  = "d:\backup\web1"
	},
	@{
		"host" = "192.168.0.2"
		"user" = "user"
		"pass" = "password"
		"src"  = "/var/log/httpd/*.1"
		"dst"  = "d:\backup\web2"
	}
) | foreach {

	# 出力先
	$dst = Join-Path $_.dst (Get-Date).ToString('yyyyMMdd')
	mkdir $dst

	# C:\tools\putty\pscp.exe -p -pw password user@192.168.0.1:/var/log/httpd/*.1 d:\web1\20100728
	$cmd = "$PSCP -pw {0} {1}@{2}:{3} {4}" -f $_.pass, $_.user, $_.host, $_.src, $dst
	Invoke-Expression $cmd

	cd $dst

	ls | foreach {
		$orig = $_.FullName
		$zip = $_.FullName + '.zip'

		& $7Z a -tzip $zip $orig
		rm $orig
	}
}