이 포럼은 훌륭하며 내가 찾은 것보다 자동화하기가 더 쉬운 수동 프로세스를 수행하는 데 어려움을 겪고 싶습니다.
앱에 대한 로그를 업로드하는 공급 업체 앱의 명령 줄 도구가 있습니다. 이 도구는 유닉스 UTC 시간 만 필요하며 앱 로그를 업로드하려면 하루에 3-4 회 예약 된 작업을 실행해야합니다. 아마도 하루 동안 모든 로그를 업로드 할 수는 있지만 스크립트에서 어떻게 로그를 작성하는지 알 수 없으므로 여전히 문제가됩니다. 따라서 하루 종일 모든 로그를 업로드하고 최신 로그 만 업로드하는 것에 대해 걱정할 필요가 없습니다.
명령은 내가 시작한 powershell 스크립트에 있지만 배치 파일 로이 작업을 더 쉽게 수행 할 수 있다면 전자 메일을 보내기 위해 blat와 같은 것을 추가하지 않고 시도하는 방법을 알 수 없었습니다. 작업 결과를 전자 메일로 보내야하는 배치 스크립트로 가져옵니다.
아래의 "IEX"는 전체 명령이며 예약 된 작업이 마지막으로 실행 된 시간보다 시간을 얻는 것이 더 쉬운 경우 하루 중 UTC 시간을 채워야하는 곳입니다. 어쨌든 가장 안전한 옵션입니다. 그런 다음 끝에 "1 1"은 공급 업체가 업로드를위한 추가 옵션에 필요한 매개 변수입니다.
로그 업로드를 위해 현재 날짜와 시간을 어떻게 채울 수 있습니까? 매일 오전 12시 1 분 (동부) ~ 오후 11시 59 분 (동부)과 같은 시간이면 괜찮을까요?
# "iex" is an alias for the invoke-expression cmd
iex c:\path_to_exe\myprog.exe -a 1379300570 1379300570 1 1
# $? lets us know if the previous command was successful or not
# $LASTEXITCODE gives us the exit code of the last Win32 exe execution
if (!$? -OR $LASTEXITCODE -gt 0)
{
$smtpServer = "smtp.mydomain.com"
$fromAddress = "sender@mydomain.com"
$toAddress = "recipient@mydomain.com"
$subject = "FAILURE"
$msgBody = "Trouble with Task"
# Use these variables if auth for the SMTP server is required!
$senderCreds = new-object System.Net.networkCredential
$senderCreds.UserName = "senderusername"
$senderCreds.Password = "senderpwd"
$smtpClient = new-object Net.Mail.SmtpClient($smtpServer)
$smtpClient.Credentials = $senderCreds
$smtpClient.Send($fromAddress,$toAddress,$subject,$msgBody)
}
-UFormat
옵션 -예[int] [double]::Parse((Get-Date -UFormat %s))