{"id":398,"date":"2019-02-06T07:18:08","date_gmt":"2019-02-06T07:18:08","guid":{"rendered":"http:\/\/labiol.xyz\/?p=398"},"modified":"2019-02-08T07:16:53","modified_gmt":"2019-02-08T07:16:53","slug":"backup-vcsa-za-pomoca-skryptow-bash","status":"publish","type":"post","link":"https:\/\/www.labiol.xyz\/index.php\/2019\/02\/06\/backup-vcsa-za-pomoca-skryptow-bash\/","title":{"rendered":"Backup VCSA za pomoc\u0105 skrypt\u00f3w bash."},"content":{"rendered":"\n<p>Backup dla VCSA w 6.5<\/p>\n\n\n\n<p>Jak pokazuje do\u015bwiadczenie, backup trzeba mie\u0107. W szczeg\u00f3lno\u015bci backup VCSA, gdzie bardzo trudno, nawet dla supportu jest poradzi\u0107 sobie z przywr\u00f3ceniem niekt\u00f3rych serwer\u00f3w do \u017cycia (jak chocia\u017cby us\u0142uga directory). Dodatkowo vPostgresql pomimo, \u017ce jest super baz\u0105 danych nie zawsze radzi sobie w przypadku gwa\u0142townej awarii (brak miejsca, brak pr\u0105du itd)<br> Bez poprawnego backupu w przypadku awarii oznacza, \u017ce zostajemy z niczym. Dlatego, jeszcze raz to powt\u00f3rz\u0119 backup trzeba mie\u0107.<br> VMware zdecydowanie upro\u015bci\u0142 backup i restore appliance VCSA dzi\u0119ki mo\u017cliwo\u015bci wykorzystania VCSA API.<br> Niestety dopiero od wersji VCSA 6.7 istnieje mo\u017cliwo\u015b\u0107 programowania harmonogramu robienia backupu na zewn\u0119trzny serwer scp\/sftp\/ftp.<br> W zwi\u0105zku z tym  musimy pos\u0142u\u017cy\u0107 si\u0119 API \u017ceby wykona\u0107 i pobra\u0107 backup na zas\u00f3b zewn\u0119trzny.<br> Je\u015bli chcemy wykorzysta\u0107 gotowe skrypty to pozostaj\u0105 nam dwie drogi. Albo wykorzystamy instniej\u0105ce skrypty opieraj\u0105ce si\u0119 na PowerCLI b\u0105d\u017a wykorzystamy linux bash i curl-a.<br> VMware na t\u0105 okoliczno\u015b\u0107 prezentuje gotowe rozwi\u0105zanie kt\u00f3re mo\u017cna odnale\u017a\u0107 na stronie: <a href=\"https:\/\/pubs.vmware.com\/vsphere-6-5\/index.jsp?topic=%2Fcom.vmware.vsphere.vcsapg-rest.doc%2FGUID-222400F3-678E-4028-874F-1F83036D2E85.html\">https:\/\/pubs.vmware.com\/vsphere-6-5\/index.jsp?topic=%2Fcom.vmware.vsphere.vcsapg-rest.doc%2FGUID-222400F3-678E-4028-874F-1F83036D2E85.html<\/a><br> Niestety skrypt prezentowany przez VMware nie jest idealny. Poza tym \u017ce ma b\u0142\u0119dy (liter\u00f3wki, mo\u017ce teraz ju\u017c poprawione) to brakuje np. szyfrowanie pliku backupu.<br> Problem ten zosta\u0142 rozwi\u0105zany w du\u017cej cz\u0119sci przez Sebastiana Kirscha kt\u00f3ry rozbudowa\u0142 oficjalny skrypt i go porz\u0105dnie przeogranizowa\u0142.<br> Skrypt jest dost\u0119pny do \u015bci\u0105gni\u0119cia  z github:<br> <a href=\"https:\/\/github.com\/sebkirsch\/vcsa-backup\/blob\/master\/vcsa65-backup.sh\">https:\/\/github.com\/sebkirsch\/vcsa-backup\/blob\/master\/vcsa65-backup.sh<\/a><\/p>\n\n\n\n<p>Uwaga, przy konfiguracji wszystkie nazwy powinny by\u0107 w cudzys\u0142owie:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">vCenter settings<\/h4>\n\n\n\n<p>VC_ADDRESS=&#8221;PE\u0141NA NAZWA VCENTER &#8211; &#8220;<br>\nVC_USER=&#8221;U\u017bYTKOWNIK@DOMENA&#8221;<br>\nVC_PASSWORD=&#8221;HAS\u0141O&#8221;<\/p>\n\n\n\n<p>\/\/\/\/\/\/\/\/\/\/<\/p>\n\n\n\n<p>Przyk\u0142adowy skrypt do usuwania starych backup\u00f3w:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>#!\/bin\/bash<\/p><\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>LOCATION=&#8221;SCIEZKA_SKLADOWANIA_BACKUPOW&#8221;<\/p><p>ILE=$(find $LOCATION -maxdepth 1 -type d -atime -10 | wc -l)<br> echo $ILE<\/p><p>if [ &#8220;$ILE&#8221; -gt 9 ]<br> then<br>         find $LOCATION -maxdepth 1 -type d -atime +10 -exec rm {} \\;<br> fi<\/p><\/blockquote>\n\n\n\n<p>\/\/\/\/\/\/\/\/\/\/<\/p>\n\n\n\n<p>Alternatywnie mo\u017cna wykorzysta\u0107 vRealize Orchestrator, przyk\u0142ad zastosowania: http:\/\/vmwarebits.com\/vcenterbackup<\/p>\n\n\n\n<p>Przydatne materia\u0142y:<br> <a href=\"https:\/\/blogs.vmware.com\/vsphere\/2017\/01\/vcenter-server-appliance-file-based-backup-restore-walkthroughs.html\">https:\/\/blogs.vmware.com\/vsphere\/2017\/01\/vcenter-server-appliance-file-based-backup-restore-walkthroughs.html<\/a><br><a href=\"https:\/\/vmninja.wordpress.com\/2017\/03\/01\/vcsa-6-5-native-backup-bash-script\/\">https:\/\/vmninja.wordpress.com\/2017\/03\/01\/vcsa-6-5-native-backup-bash-script\/<\/a><br> <a href=\"https:\/\/www.techcrumble.net\/2018\/06\/vcsa-6-7-backup-failed\/\">https:\/\/www.techcrumble.net\/2018\/06\/vcsa-6-7-backup-failed\/<\/a><br> <a href=\"https:\/\/www.vladan.fr\/vmware-vcsa-6-5-backup-and-restore-how-to\/\">https:\/\/www.vladan.fr\/vmware-vcsa-6-5-backup-and-restore-how-to\/<\/a><br> <a href=\"https:\/\/vm.knutsson.it\/2017\/01\/vmware-vcsa-6-5-scheduled-backup\/\">https:\/\/vm.knutsson.it\/2017\/01\/vmware-vcsa-6-5-scheduled-backup<\/a><br> <a href=\"https:\/\/www.altaro.com\/vmware\/backing-up-vcsa-6-5-natively-using-ftps\/\">https:\/\/www.altaro.com\/vmware\/backing-up-vcsa-6-5-natively-using-ftps\/<\/a><br> <a href=\"https:\/\/www.virten.net\/2017\/02\/vcenter-service-appliance-6-5-tips-and-tricks\/\">https:\/\/www.virten.net\/2017\/02\/vcenter-service-appliance-6-5-tips-and-tricks\/<\/a><\/p>\n\n\n\n<p>Cz\u0119ste problemy: <br> <a href=\"http:\/\/www.vryan.co.uk\/index.php\/2018\/05\/09\/vcsa-automated-backup-failure\/\">http:\/\/www.vryan.co.uk\/index.php\/2018\/05\/09\/vcsa-automated-backup-failure\/<\/a><br> <a href=\"https:\/\/communities.vmware.com\/thread\/567367\">https:\/\/communities.vmware.com\/thread\/567367<\/a><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>{&#8220;type&#8221;:&#8221;com.vmware.vapi.std.errors.unauthenticated&#8221;,&#8221;value&#8221;:{&#8220;messages&#8221;:[{&#8220;args&#8221;:[],&#8221;default_message&#8221;:&#8221;Unable to authenticate user&#8221;,&#8221;id&#8221;:&#8221;vapi.security.authentication.invalid&#8221;}]}}<\/p><\/blockquote>\n\n\n\n<p><br> <a href=\"https:\/\/communities.vmware.com\/thread\/581104\">https:\/\/communities.vmware.com\/thread\/581104<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Backup dla VCSA w 6.5 Jak pokazuje do\u015bwiadczenie, backup trzeba mie\u0107. W szczeg\u00f3lno\u015bci backup VCSA, gdzie bardzo trudno, nawet dla supportu jest poradzi\u0107 sobie z przywr\u00f3ceniem niekt\u00f3rych serwer\u00f3w do \u017cycia (jak chocia\u017cby us\u0142uga directory). Dodatkowo vPostgresql pomimo, \u017ce jest super baz\u0105 danych nie zawsze radzi sobie w przypadku gwa\u0142townej awarii &hellip; <\/p>\n","protected":false},"author":1,"featured_media":425,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-398","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vmware"],"_links":{"self":[{"href":"https:\/\/www.labiol.xyz\/index.php\/wp-json\/wp\/v2\/posts\/398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.labiol.xyz\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.labiol.xyz\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.labiol.xyz\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.labiol.xyz\/index.php\/wp-json\/wp\/v2\/comments?post=398"}],"version-history":[{"count":4,"href":"https:\/\/www.labiol.xyz\/index.php\/wp-json\/wp\/v2\/posts\/398\/revisions"}],"predecessor-version":[{"id":426,"href":"https:\/\/www.labiol.xyz\/index.php\/wp-json\/wp\/v2\/posts\/398\/revisions\/426"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.labiol.xyz\/index.php\/wp-json\/wp\/v2\/media\/425"}],"wp:attachment":[{"href":"https:\/\/www.labiol.xyz\/index.php\/wp-json\/wp\/v2\/media?parent=398"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.labiol.xyz\/index.php\/wp-json\/wp\/v2\/categories?post=398"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.labiol.xyz\/index.php\/wp-json\/wp\/v2\/tags?post=398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}