02.04.2013, 10:46 | #1 (ссылка) |
Новичок
Регистрация: 15.05.2012
Сообщений: 20
Репутация: 0
|
Помогите написать скрипт на Power Shell резервное копирование.
Задача копировать D:\130330\1.vhd по ночам в E:\rezerv\папка с датой. Хранить копии за неделю, старее затирать. Получилось как то так
Код:
while ((Get-WMIObject Win32_LogicalDisk -filter "DeviceID='E:'" | Select -ExpandProperty freespace)/1024/1024/1024 -lt 200){ $s=get-childitem E:\rezerv -name $t=$s[0] remove-item E:\rezerv\$t -recurse } $s=get-date -uformat "%y%m%d" $t=get-date -uformat "%H-%M" new-item -path E:\rezerv -name $s -type directory copy-item "D:\130330\1.vhd" -destination "E:\rezerv\$s\vAlpha-3 $t.vhd" |
04.04.2013, 15:39 | #3 (ссылка) |
Новичок
Регистрация: 21.11.2009
Сообщений: 486
Репутация: 47
|
В принципе, должно работать, только надо проверять есть ли еще файлы, которые можно удалять при проверке свободного места.
Ваше решение не соответствует первоначально заявленному условию, что надо хранить копии за неделю. Вот так, примерно, это удаление можно сделать: Код:
$SourcePath = "D:\130330" $DestinationPath = "E:\rezerv" $Format = "yyyyMMdd" $CurentDate = Get-Date -DisplayHint Date $CurentDirName = $CurentDate.ToString($Format) $7days = new-timespan -days 7 Get-ChildItem $DestinationPath | ` Where-Object { ([DateTime]::ParseExact($_.Name, $Format, $null)) -lt ($CurentDate - $7days) } |` ForEach-Object { Remove-Item $_.FullName -force -Recurse } |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
РЕЗЕРВНОЕ КОПИРОВАНИЕ!! | Zhuzawar | Программы | 1 | 21.03.2012 16:39 |
резервное копирование | sugaroff | Windows XP | 2 | 18.10.2011 23:05 |
резервное копирование | sugaroff | Операционные системы | 0 | 18.10.2011 22:11 |
Помогите написать скрипт | Dotheman | Безопасность | 0 | 10.06.2011 14:20 |
Резервное копирование | guraba | Операционные системы | 7 | 07.10.2010 17:48 |