2013-12-03 3 views
2

현재 하늘 저장소 BLOB에 백업하는 시스템이 있습니다. 해당 BLOB 내에 각 고객 백업을위한 폴더가 있습니다. powershell/vb를 사용하여 매일 각 폴더를 검사하여 최근 48 시간 내에 새 파일이 있는지 확인하고 어떤 폴더에 백업이 없는지 경고하는 전자 메일을 보내지 않도록 할 수 있습니다. 나는 내 인생에서 거의 프로그래밍을하지 않았으며 내가 한 일은 많은 달 전에했다. 누군가 제가 시작하도록 도울 수 있습니까? 지금은 디렉토리와 날짜가있는 모든 파일을 보여주는 get-azurestorageblob을 수행 할 수 있지만 원하는 정보를 사용하는 방법을 알지 못합니다. 고마워요Azure Powershell Alerting

다음은 txt로 출력 할 때 azure 명령의 작은 샘플입니다.

이름 BlobType 길이 내용 유형 LastModified SnapshotTime
---- -------- ------ ----------- --------- --- ------------
80500/backup113013 ... BlockBlob 3135490287 12/1/2013 3:26:39 ...
80500/backup120113 ... BlockBlob 3133936105 12/2/2013 3:27:03 ...
80500/backup120213 ... BlockBlob 3137539329 12/3/2013 3:27:18 ...
90407/backup110113 ... BlockBlob 2484494132 2011-11-22 4 : 21 : 14 ...
90407/backup110213 ... BlockBlob 2484510293 2011 년 3 월 13 일 4:22:00 ...,627,552,314,960,453,210 90,407/backup110313 ... BlockBlob 2484429713 2013년 11월 4일 5시 22분 10초 ...
90,407/backup110413 ... BlockBlob 2484406856 2013년 11월 5일 5시 22분 46초 ...

답변

2

많은 프로그래밍을하지 않은 사람이라면 Azure를 사용하여 PowerShell을 사용할 수있는 도구를 알아낼 수있을 것입니다. 나는 당신이 찾고있는 명령이 이것이라고 생각한다 :

Get-AzureStorageBlob -Container yourContainerName | Where-Object { $_.LastModified -lt ((Get-Date).AddHours(-48)) } 

PowerShell에 대해 알아야 할 사실은 거의 모든 명령의 출력이 실제로는 개체라는 사실이다. 콘솔에 텍스트가 표시됩니다. 위 명령이 수행하는 작업은 Get-AzureStorageBlob cmdlet에서 나온 모든 항목을 가져 와서 Where-Object cmdlet을 사용하여 검사를 실행하는 것입니다. 그러면 기준을 충족하는 항목이 결과에 포함됩니다. 이 경우 Get-Date Cmdlet을 사용하여 현재 시간을 가져오고 48 시간을 빼고 Last Modified 날짜 속성을 확인합니다. 그러면 최종 수정 된 속성이 48 시간 이상인 모든 파일이 출력됩니다. 이는 내가 생각하는 것입니다.

해당 명령의 출력이 개체의 컬렉션이라는 것을 기억, 그래서 당신은 등 자신의 이름을 포함 경고를 만들 수

내가보기 엔 작업에 PowerShell을 따기 또는 소개로 보는 게 좋을 것

Pluralsight의 PowerShell 과정. 그들은 많은 도움이 될 것입니다.

+0

굉장합니다.이 제품은 내가 필요한 제품과 똑같아 보입니다. 48 시간 내에있는 폴더에 파일이 없으면 다음 단계로 이메일을 보내야합니다. 이것은 하나의 스크립트 내에서 내가 powershell에서 할 수있는 일 이겠니? 나는 분명히 그 과정을 살펴보고 약간의 훈련을 시작할 것입니다. – David

+1

여기에는 cmdlet이 있습니다. send-mailmessage. :) – MikeWo

+0

감사합니다. 나는 그것을 알아 내려고 노력할 것입니다. – David

관련 문제