{"id":1029,"date":"2018-03-14T18:12:41","date_gmt":"2018-03-14T16:12:41","guid":{"rendered":"http:\/\/dety.net.ua\/?p=1029"},"modified":"2018-03-14T18:12:41","modified_gmt":"2018-03-14T16:12:41","slug":"powershell-mikrotik-backups","status":"publish","type":"post","link":"https:\/\/dety.net.ua\/?p=1029","title":{"rendered":"Powershell + Mikrotik backups"},"content":{"rendered":"<p>Source: <a href=\"https:\/\/habrahabr.ru\/post\/351108\/\">https:\/\/habrahabr.ru\/post\/351108\/<\/a><\/p>\n<blockquote>\n<pre><code class=\"hljs powershell\"><span class=\"hljs-comment\">#\u0437\u0430\u0434\u0430\u0434\u0438\u043c \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u0441\u0440\u0430\u0437\u0443, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0432\u0441\u043f\u043c\u0438\u043d\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0435 <\/span>\r\n<span class=\"hljs-built_in\">Set-ExecutionPolicy<\/span> remotesigned -scope currentuser\r\n<span class=\"hljs-comment\">#\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u0438\u043c\u043f\u043e\u0440\u0442 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0434\u043b\u044f ssh<\/span>\r\nInstall-Module -Name Posh-SSH \r\nImport-Module posh-ssh\r\n\r\n<span class=\"hljs-variable\">$curDir<\/span> = <span class=\"hljs-variable\">$MyInvocation<\/span>.MyCommand.Definition | <span class=\"hljs-built_in\">split-path<\/span> -parent\r\n\r\n<span class=\"hljs-keyword\">function<\/span> bkprtr {\r\n<span class=\"hljs-keyword\">param<\/span>(<span class=\"hljs-variable\">$ipaddr<\/span>)\r\n\r\n<span class=\"hljs-comment\">#\u0442\u0443\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043b\u043e\u0433\u0438\u043d \u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u043a \u0440\u043e\u0443\u0442\u0435\u0440\u0430\u043c \u0441 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u043d\u0430 ftp \u0438 ssh. <\/span>\r\n<span class=\"hljs-variable\">$secpasswd<\/span> = <span class=\"hljs-built_in\">ConvertTo-SecureString<\/span> <span class=\"hljs-string\">\"\u0412\u0430\u0448_\u043f\u0430\u0440\u043e\u043b\u044c_\u043a_\u0440\u043e\u0443\u0442\u0435\u0440\u0443\"<\/span> -AsPlainText -Force\r\n<span class=\"hljs-variable\">$mycreds<\/span> = <span class=\"hljs-built_in\">New-Object<\/span> System.Management.Automation.PSCredential (<span class=\"hljs-string\">\"\u0412\u0430\u0448_\u043b\u043e\u0433\u0438\u043d_\u043a_\u0440\u043e\u0443\u0442\u0435\u0440\u0443\"<\/span>, <span class=\"hljs-variable\">$secpasswd<\/span>)\r\n\r\n<span class=\"hljs-comment\">#\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u043e ssh \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/span>\r\nNew-SSHSession -ComputerName <span class=\"hljs-variable\">$ipaddr<\/span> -Credential <span class=\"hljs-variable\">$mycreds<\/span> -Force\r\nInvoke-SshCommand -index <span class=\"hljs-number\">0<\/span> -Command <span class=\"hljs-string\">\"system backup save name temp.backup\"<\/span>\r\nGet-SSHSession | Remove-SshSession;\r\n\r\n<span class=\"hljs-variable\">$Cdate<\/span>=<span class=\"hljs-built_in\">get-date<\/span> -Uformat %Y%m%d\r\n<span class=\"hljs-variable\">$rptpath<\/span> = <span class=\"hljs-string\">\"<span class=\"hljs-variable\">$curDir<\/span>\\backup\\<span class=\"hljs-variable\">$cdate<\/span>\"<\/span>\r\n\r\n<span class=\"hljs-comment\">#\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u043f\u043e \u0434\u0430\u0442\u0435<\/span>\r\n<span class=\"hljs-keyword\">if<\/span> (!(<span class=\"hljs-built_in\">test-path<\/span> -path <span class=\"hljs-variable\">$rptpath<\/span>)) {<span class=\"hljs-built_in\">new-item<\/span> -path <span class=\"hljs-variable\">$rptpath<\/span> -itemtype directory}\r\n\r\n<span class=\"hljs-comment\">#\u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430<\/span>\r\n wget -Uri <span class=\"hljs-string\">\"ftp:\/\/<span class=\"hljs-variable\">$ipaddr<\/span>\/temp.backup\"<\/span> -OutFile <span class=\"hljs-string\">\"<span class=\"hljs-variable\">$rptpath<\/span>\\<span class=\"hljs-variable\">$ipaddr<\/span>.backup\"<\/span> -Credential <span class=\"hljs-variable\">$mycreds<\/span>\r\n\r\n\r\n} \r\n\r\n<span class=\"hljs-comment\">#\u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c \u0444\u0430\u0439\u043b list.txt \u043f\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u043e<\/span>\r\n<span class=\"hljs-keyword\">foreach<\/span> (<span class=\"hljs-variable\">$ip<\/span> <span class=\"hljs-keyword\">in<\/span> gc <span class=\"hljs-variable\">$curDir<\/span>\\list.txt ){bkprtr(<span class=\"hljs-variable\">$ip<\/span>)}<\/code><\/pre>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Source: https:\/\/habrahabr.ru\/post\/351108\/ #\u0437\u0430\u0434\u0430\u0434\u0438\u043c \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u0441\u0440\u0430\u0437\u0443, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0432\u0441\u043f\u043c\u0438\u043d\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0435 Set-ExecutionPolicy remotesigned -scope currentuser #\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u0438\u043c\u043f\u043e\u0440\u0442 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0434\u043b\u044f ssh Install-Module -Name Posh-SSH Import-Module posh-ssh $curDir = $MyInvocation.MyCommand.Definition | split-path -parent function bkprtr { param($ipaddr) #\u0442\u0443\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043b\u043e\u0433\u0438\u043d \u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u043a \u0440\u043e\u0443\u0442\u0435\u0440\u0430\u043c \u0441 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u043d\u0430 ftp \u0438 ssh. $secpasswd = ConvertTo-SecureString &#8220;\u0412\u0430\u0448_\u043f\u0430\u0440\u043e\u043b\u044c_\u043a_\u0440\u043e\u0443\u0442\u0435\u0440\u0443&#8221; -AsPlainText -Force [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,13,18],"tags":[],"class_list":["post-1029","post","type-post","status-publish","format-standard","hentry","category-mikrotik","category-novosti","category-powershell"],"_links":{"self":[{"href":"https:\/\/dety.net.ua\/index.php?rest_route=\/wp\/v2\/posts\/1029","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dety.net.ua\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dety.net.ua\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dety.net.ua\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dety.net.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1029"}],"version-history":[{"count":1,"href":"https:\/\/dety.net.ua\/index.php?rest_route=\/wp\/v2\/posts\/1029\/revisions"}],"predecessor-version":[{"id":1030,"href":"https:\/\/dety.net.ua\/index.php?rest_route=\/wp\/v2\/posts\/1029\/revisions\/1030"}],"wp:attachment":[{"href":"https:\/\/dety.net.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1029"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dety.net.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1029"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dety.net.ua\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1029"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}