I have a number of customer backup chains that are stored on a network share and I would like to create a powershell script that can check if the backup folders have been modified in the last 4 days. This is so I can automate the process of checking if the backups have run or not.
The folder structure is like so: \\server\backups\customer1\chain1
The script will need to check each of the "chain" folders for the last modified date and output a list of the folder paths along with a statement so I can recognise if the folder has been updated in the last 4 days or not.
For example:
\\server\backups\customer1\chain1 Backups out of date
or \\server\backups\customer1\chain1 Backups working fine
This is what I've got so far, but the output is the same for all folders regardless of whether the date modified was older than 4 days or not.
$backuppaths = get-childitem -path "\\server\backups\customer1\" -Directory | Select-Object FullName
foreach ($path in $backuppaths)
{
if ($path | Where{$path.LastWriteTime -ge (get-date).AddDays(-$4)})
{
"$path Backups out of date"
}
else
{
"$path Backups working fine"
}
}
For reference, I used the same script and run it on my music library and this was the output:
@{FullName=\\db-server\music\2Pac} Backups working fine
@{FullName=\\db-server\music\50 Cent} Backups working fine
@{FullName=\\db-server\music\Adele} Backups working fine
@{FullName=\\db-server\music\Akon} Backups working fine
@{FullName=\\db-server\music\Arctic Monkeys} Backups working fine
@{FullName=\\db-server\music\Avicii} Backups working fine
@{FullName=\\db-server\music\Barry White} Backups working fine
@{FullName=\\db-server\music\Billy Idol} Backups working fine
@{FullName=\\db-server\music\Black Eyed Peas} Backups working fine
@{FullName=\\db-server\music\Bob Marley} Backups working fine
@{FullName=\\db-server\music\Bob Sinclar} Backups working fine
@{FullName=\\db-server\music\Bon Jovi} Backups working fine
@{FullName=\\db-server\music\Bruno Mars} Backups working fine
@{FullName=\\db-server\music\Calvin Harris} Backups working fine
@{FullName=\\db-server\music\Chase and Status} Backups working fine
@{FullName=\\db-server\music\Cher} Backups working fine
@{FullName=\\db-server\music\Coldplay} Backups working fine
@{FullName=\\db-server\music\Cypress Hill} Backups working fine
@{FullName=\\db-server\music\Daft Punk} Backups working fine
@{FullName=\\db-server\music\Disclosure} Backups working fine
@{FullName=\\db-server\music\Dizzee Rascal} Backups working fine
@{FullName=\\db-server\music\DJ Fresh} Backups working fine
@{FullName=\\db-server\music\Dr. Dre} Backups working fine
@{FullName=\\db-server\music\Drake} Backups working fine
@{FullName=\\db-server\music\Duran Duran} Backups working fine
@{FullName=\\db-server\music\Ed Sheeran} Backups working fine
@{FullName=\\db-server\music\Elvis Presley} Backups working fine
@{FullName=\\db-server\music\Eminem} Backups working fine
@{FullName=\\db-server\music\Example} Backups working fine
@{FullName=\\db-server\music\Fleetwood Mac} Backups working fine
@{FullName=\\db-server\music\Frank Sinatra} Backups working fine
@{FullName=\\db-server\music\Future} Backups working fine
@{FullName=\\db-server\music\George Michael} Backups working fine
@{FullName=\\db-server\music\Gorillaz} Backups working fine
@{FullName=\\db-server\music\Green Day} Backups working fine
@{FullName=\\db-server\music\Guns N' Roses} Backups working fine
@{FullName=\\db-server\music\Ice Cube} Backups working fine
@{FullName=\\db-server\music\Jack Johnson} Backups working fine
@{FullName=\\db-server\music\Jake Bugg} Backups working fine
@{FullName=\\db-server\music\Jamie T} Backups working fine
@{FullName=\\db-server\music\Jay-Z} Backups working fine
@{FullName=\\db-server\music\Jefferson Airplane} Backups working fine
@{FullName=\\db-server\music\JME} Backups working fine
@{FullName=\\db-server\music\Kaiser Chiefs} Backups working fine
@{FullName=\\db-server\music\Kanye West} Backups working fine
@{FullName=\\db-server\music\Kendrick Lamar} Backups working fine
@{FullName=\\db-server\music\Lil Yachty} Backups working fine
@{FullName=\\db-server\music\Limp Bizkit} Backups working fine
@{FullName=\\db-server\music\Linkin Park} Backups working fine
@{FullName=\\db-server\music\Lionel Richie & The Commodores} Backups working fine
@{FullName=\\db-server\music\Madness} Backups working fine
@{FullName=\\db-server\music\Major Lazer} Backups working fine
@{FullName=\\db-server\music\Men at Work} Backups working fine
@{FullName=\\db-server\music\Metallica} Backups working fine
@{FullName=\\db-server\music\Milky Chance} Backups working fine
@{FullName=\\db-server\music\Ministry of Sound} Backups working fine
@{FullName=\\db-server\music\Muse} Backups working fine
@{FullName=\\db-server\music\N.W.A} Backups working fine
@{FullName=\\db-server\music\Neil Diamond} Backups working fine
@{FullName=\\db-server\music\Nirvana} Backups working fine
@{FullName=\\db-server\music\Phil Collins} Backups working fine
@{FullName=\\db-server\music\Red Hot Chilli Peppers} Backups working fine
@{FullName=\\db-server\music\Rudimental} Backups working fine
@{FullName=\\db-server\music\Run-D.M.C} Backups working fine
@{FullName=\\db-server\music\Simple Minds} Backups working fine
@{FullName=\\db-server\music\Skepta} Backups working fine
@{FullName=\\db-server\music\Snatch - Original Film Soundtrack} Backups working fine
@{FullName=\\db-server\music\Snoop Dogg} Backups working fine
@{FullName=\\db-server\music\Spandau Ballett} Backups working fine
@{FullName=\\db-server\music\Steely Dan} Backups working fine
@{FullName=\\db-server\music\The Hollies} Backups working fine
@{FullName=\\db-server\music\The Kooks} Backups working fine
@{FullName=\\db-server\music\The Notorious B.I.G} Backups working fine
@{FullName=\\db-server\music\The Weekend} Backups working fine
@{FullName=\\db-server\music\Tyler, the Creator} Backups working fine
@{FullName=\\db-server\music\Wiley} Backups working fine
@{FullName=\\db-server\music\Wilkinson} Backups working fine
@{FullName=\\db-server\music\Wiz Khalifa} Backups working fine
It is displaying all of the folders in the list but none of them are showing as "out of date". Before running the script I made sure that some of the folders definitely had been modified in the last 4 days.
This is the first time I've ever used powershell so I apologise if I'm missing something blindingly obvious. I've been trying at this for hours and I just can't work it out.
Any help will be massively appreciated!