|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Унифицировать Скрипт копирования |
|
PowerShell - [решено] Унифицировать Скрипт копирования
|
Новый участник Сообщения: 24 |
Всем привет. Помогите Унифицировать скрипт копирования бекапов 1с.
- Скрипт копирует файлы бекапов баз 1с (.dt или .zip) на сетевую шару - Проверяет наличие скопированного файла на шаре - Отправляет письмо о недостующих (не случившихся) бекапах ------------------------------- Базы прибавляются слишком быстро, уже около 30. И просто неудобно каждый раз добавлять новую строку в скрипт. $date = (Get-Date -uformat "%d.%m.%Y") $a = $b = $c = $d = $e = $f = $g = $h = $i = $j = $k = $m = $n = $o = $p = $q = $r = $s = $t = $x = $v = $u = $buh<HIDE> = $zup<HIDE> = $alpha = 0 copy-item c:\BackUP_1C\Alpha_<HIDE>\BackupTmp.zip \\<HIDE>\backup\1c\Alpha\Alpha_<HIDE>_$date.zip copy-item c:\BackUP_1C\buh8\*.dt \\<HIDE>\backup\1c\buh8\Buh8_<HIDE>_$date.dt copy-item c:\BackUP_1C\buh82\*.dt \\<HIDE>\backup\1c\buh82\Buh82_<HIDE>_$date.dt copy-item c:\BackUP_1C\buhCKS8\BackupTmp.dt \\<HIDE>\backup\1c\buhCKS8\BuhCKS8_<HIDE>_$date.dt copy-item C:\BackUP_1C\BuhCKS82\*.dt \\<HIDE>\backup\1c\BuhCKS82\BuhCKS82_<HIDE>_$date.dt copy-item c:\BackUP_1C\crm\BackupTmp.dt \\<HIDE>\backup\1c\crm\CRM_<HIDE>_$date.dt copy-item c:\BackUP_1C\eco\*.dt \\<HIDE>\backup\1c\eco\ECO_<HIDE>_$date.dt copy-item c:\BackUP_1C\Kandidat\BackupTmp.dt \\<HIDE>\backup\1c\Kandidat\Kandidat_<HIDE>_$date.dt copy-item c:\BackUP_1C\kredit\BackupTmp.dt \\<HIDE>\backup\1c\kredit\Kredit_<HIDE>_$date.dt copy-item c:\BackUP_1C\orgteh\*.dt \\<HIDE>\backup\1c\orgteh\Orgteh_<HIDE>_$date.dt copy-item c:\BackUP_1C\SpecOdejda\BackupTmp.zip \\<HIDE>\backup\1c\SpecOdejda\SpecOdejda_<HIDE>_$date.zip copy-item c:\BackUP_1C\Strah\BackupTmp.zip \\<HIDE>\backup\1c\strah\Strah_<HIDE>_$date.zip copy-item c:\BackUP_1C\traktir\*.dt \\<HIDE>\backup\1c\traktir\Traktir_<HIDE>_$date.dt copy-item c:\BackUP_1C\ZikBuh\BackupTmp.zip \\<HIDE>\backup\1c\zikbuh7\ZikBuh7_<HIDE>_$date.zip copy-item C:\BackUP_1C\ZikCKS7\BackupTmp.zip \\<HIDE>\backup\1c\zikCKS7\ZikBuhCKS7_<HIDE>_$date.zip copy-item C:\BackUP_1C\zikeco\BackupTmp.dt \\<HIDE>\backup\1c\zikeco\ZikECO_<HIDE>_$date.dt copy-item C:\BackUP_1C\zik<HIDE>NM\BackupTmp.zip \\<HIDE>\backup\1c\zik<HIDE>NM\Zik<HIDE>NM_<HIDE>_$date.zip copy-item C:\BackUP_1C\Zik<HIDE>MY\BackupTmp.zip \\<HIDE>\backup\1c\Zik<HIDE>MY\Zik<HIDE>MY_<HIDE>_$date.zip copy-item C:\BackUP_1C\zik<HIDE>RA\BackupTmp.zip \\<HIDE>\backup\1c\zik<HIDE>RA\Zik<HIDE>RA_<HIDE>_$date.zip copy-item C:\BackUP_1C\ZupEco82\*.dt \\<HIDE>\backup\1c\ZupEco82\ZupEco82_<HIDE>_$date.dt copy-item C:\BackUP_1C\BuhAru82\*.dt \\<HIDE>\backup\1c\BuhAru82\BuhAru82_<HIDE>_$date.dt copy-item c:\BackUP_1C\ZikAru\BackupTmp.zip \\<HIDE>\backup\1c\ZikAru\ZikAru_<HIDE>_$date.zip copy-item C:\BackUP_1C\Buh<HIDE>\*.dt \\<HIDE>\backup\1c\Buh<HIDE>\Buh<HIDE>_<HIDE>_$date.dt copy-item C:\BackUP_1C\Zup<HIDE>\*.dt \\<HIDE>\backup\1c\Zup<HIDE>\Zup<HIDE>_<HIDE>_$date.dt copy-item C:\BackUP_1C\alpha5\*.dt \\<HIDE>\backup\1c\alpha5\Alpha5_<HIDE>_$date.dt if(!(Test-Path \\<HIDE>\backup\1c\alpha\Alpha_<HIDE>_$date.zip)){$a = "BackUP Alpha FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\buh8\Buh8_<HIDE>_$date.dt)){$b = "BackUP Buh8 FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\buh82\Buh82_<HIDE>_$date.dt)){$c = "BackUP Buh82 FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\buhCKS8\BuhCKS8_<HIDE>_$date.dt)){$d = "BackUP BuhCks8 FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\BuhCKS82\BuhCKS82_<HIDE>_$date.dt)){$e = "BackUP BuhCks82 FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\crm\CRM_<HIDE>_$date.dt)){$f = "BackUP CRM FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\eco\ECO_<HIDE>_$date.dt)){$g = "BackUP ECO FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\Kandidat\Kandidat_<HIDE>_$date.dt)){$h = "BackUP Kandidat FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\kredit\Kredit_<HIDE>_$date.dt)){$i = "BackUP Kredit FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\orgteh\Orgteh_<HIDE>_$date.dt)){$j = "BackUP Orgteh FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\SpecOdejda\SpecOdejda_<HIDE>_$date.zip)){$k = "BackUP SpecOdejda FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\strah\Strah_<HIDE>_$date.zip)){$m = "BackUP Strahovanie FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\traktir\Traktir_<HIDE>_$date.dt)){$n = "BackUP Traktir FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\zikbuh7\ZikBuh7_<HIDE>_$date.zip)){$o = "BackUP ZikBuh7 FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\zikCKS7\ZikBuhCKS7_<HIDE>_$date.zip)){$p = "BackUP ZikBuhCKS7 FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\zikeco\ZikECO_<HIDE>_$date.dt)){$q = "BackUP ZikECO FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\zik<HIDE>NM\Zik<HIDE>NM_<HIDE>_$date.zip)){$r = "BackUP Zik<HIDE>MN FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\Zik<HIDE>MY\Zik<HIDE>MY_<HIDE>_$date.zip)){$s = "BackUP Zik<HIDE>MY FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\zik<HIDE>RA\Zik<HIDE>RA_<HIDE>_$date.zip)){$t = "BackUP Zik<HIDE>RA FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\ZupEco82\ZupEco82_<HIDE>_$date.dt)){$x = "BackUP ZupEco82 FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\BuhAru82\BuhAru82_<HIDE>_$date.dt)){$v = "BackUP BuhAru82 FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\ZikAru\ZikAru_<HIDE>_$date.zip)){$u = "BackUP ZikAru FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\Buh<HIDE>\Buh<HIDE>_<HIDE>_$date.dt)){$buh<HIDE> = "BackUP Buh<HIDE> FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\Zup<HIDE>\Zup<HIDE>_<HIDE>_$date.dt)){$zup<HIDE> = "BackUP zup<HIDE> FAIL"} if(!(Test-Path \\<HIDE>\backup\1c\Alpha5\Alpha5_<HIDE>_$date.dt)){$alpha = "BackUP alpha5 FAIL"} if($a -eq $b -eq $c -eq $d -eq $e -eq $f -eq $g -eq $h -eq $i -eq $j -eq $k -eq $m -eq $n -eq $o -eq $p -eq $q -eq $r -eq $s -eq $t -eq $x -eq $v -eq $u -eq $buh<HIDE> -eq $zup<HIDE> -eq $alpha -eq 0) { Write-host "ALL Backups done" Send-MailMessage -To "<HIDE>@ava-<HIDE>.ru" -Cc "<HIDE>@ava-<HIDE>.ru" -From "report@ava-<HIDE>.ru" -Subject "BackUp SUCCESS!!!" -Body "ALL backups 1c done" -SmtpServer <HIDE> } Else { Send-MailMessage -To "<HIDE>@ava-<HIDE>.ru" -From "report@ava-<HIDE>.ru" -Subject "BackUp FAIL!!!" -Body "$a $b $c $d $e $f $g $h $i $j $k $m $n $o $p $q $r $s $x $t $v $u $buh<HIDE> $zup<HIDE> $alpha" -SmtpServer <HIDE> } Была идея подключаться к серверам 1с и брать оттуда названия баз, подключаться к ним и бекапить. Но готового решения для работы с сервером 1с через powershell не нашел. |
|
Отправлено: 07:18, 27-02-2015 |
Новый участник Сообщения: 24
|
Профиль | Сайт | Отправить PM | Цитировать Лог robocopy еще просматривать придется. Я хочу просто получить на почту список баз, что нужно вручную забекапить. А если тема письма Success то просто удалить его и даже не смотреть внутрь
Собственно я добился чего хотел, скрипт теперь не требует изменения, при увеличении кол-ва баз. Осталось тоже сделать со скриптом самого бекапа. |
Отправлено: 20:01, 28-02-2015 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать Цитата Vadikan:
Vadikan, в этой конструкции, скорей всего, нет подвохов, но я думаю, что Kazun имел в виду это: ## Вариант 1: dir | Foreach {Write-Host 'Something & $_.Name & something else.'} ## Вариант 2: dir | Foreach {Write-Host 'Something & $($_.Name) & something else.'} ## Вариант 3: dir | Foreach {Write-Host "Something & $_.Name & something else."} ## Вариант 4: dir | Foreach {Write-Host "Something & $($_.Name) & something else."} Только четвёртый вариант будет корректным. Варианты без кавычек я не рассматриваю, так как в моём примере присутствует символ, требующий использования кавычек ("&"). |
|
Отправлено: 21:15, 28-02-2015 | #12 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Скрипт копирования баз | Goodkid | Скриптовые языки администрирования Windows | 9 | 29-04-2013 17:14 | |
SH скрипт копирования каталога | ktotut | Программирование в *nix | 24 | 28-10-2012 20:50 | |
CMD/BAT - Скрипт копирования по сети | Forpost | Скриптовые языки администрирования Windows | 1 | 21-06-2010 17:06 | |
Разное - Скрипт резервного копирования | dividik | Microsoft Windows 2000/XP | 10 | 27-01-2009 12:45 | |
Помогите написать скрипт копирования | Filariel | Программирование в *nix | 7 | 17-11-2006 16:38 |
|