{"id":58,"date":"2015-02-14T20:40:34","date_gmt":"2015-02-14T22:40:34","guid":{"rendered":"http:\/\/wordpress.jpcorp.eti.br\/?p=58"},"modified":"2021-12-26T12:31:47","modified_gmt":"2021-12-26T15:31:47","slug":"backup-sites-cpanel","status":"publish","type":"post","link":"https:\/\/wordpress.jpcorp.eti.br\/?p=58","title":{"rendered":"Backup Sites CPanel"},"content":{"rendered":"<p style=\"text-align: justify;\">Recentemente contratei um plano de Hospedagem, onde subi o WordPress e o Glpi. Ap\u00f3s ativar e configurar as aplica\u00e7\u00f5es me veio a preocupa\u00e7\u00e3o do Backup, e ent\u00e3o surgiu as d\u00favidas:<\/p>\n<ul>\n<li style=\"text-align: justify;\">Ser\u00e1 que possui ferramenta de backup dos sites e banco autom\u00e1tico dentro do CPanel?<\/li>\n<li style=\"text-align: justify;\">Ser\u00e1 que tenho acesso a um Terminal no CPanel?<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">A necessidade \u00e9 backup do banco e alguns direct\u00f3rios e arquivos da hospedagem.<\/p>\n<p style=\"text-align: justify;\">Analisando as ferramentas dispon\u00edveis dentro do CPanel, n\u00e3o encontrei nenhuma ferramenta que gerasse o backup autom\u00e1tico, por\u00e9m o \"Trabalho Cron\" (8.<\/p>\n<figure id=\"attachment_100\" aria-describedby=\"caption-attachment-100\" style=\"width: 511px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/wordpress.jpcorp.eti.br\/wp-content\/uploads\/2015\/02\/post2-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-100 size-full\" src=\"http:\/\/wordpress.jpcorp.eti.br\/wp-content\/uploads\/2015\/02\/post2-1.png\" alt=\"Painel CPanel\" width=\"511\" height=\"229\" srcset=\"https:\/\/wordpress.jpcorp.eti.br\/wp-content\/uploads\/2015\/02\/post2-1.png 511w, https:\/\/wordpress.jpcorp.eti.br\/wp-content\/uploads\/2015\/02\/post2-1-300x134.png 300w\" sizes=\"(max-width: 511px) 100vw, 511px\" \/><\/a><figcaption id=\"caption-attachment-100\" class=\"wp-caption-text\">Painel CPanel<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">Pesquisando na FAQ da hospedagem sobre a utiliza\u00e7\u00e3o do Cron encontrei a descri\u00e7\u00e3o para utilizar Shell Script e Mysqldump:<\/p>\n<pre class=\"theme:shell-default font:monospace font-size:14 toolbar:1 toolbar-overlay:false lang:sh decode:true\"># Executar Shell Script\r\n\/bin\/sh \/home\/username\/public_html\/file.sh\r\n# Dump do Banco Mysql\r\nmysqldump -u mysql_user -ppassword database_name &gt; backup.sql<\/pre>\n<p style=\"text-align: justify;\">Ap\u00f3s testes gerando um \"tar\" dos direct\u00f3rios e dump do banco, com a rotina no Cron funcionou perfeitamente, ap\u00f3s isso escrevi um Shell Script para gerar um tar dos direct\u00f3rios e dump das\u00a0 bases de dados.<\/p>\n<p>&nbsp;<\/p>\n<h5 style=\"text-align: justify;\">1 - Estrutura dentro da hospedagem<\/h5>\n<p style=\"text-align: justify;\">Primeiramente necess\u00e1rio saber qual estrutura deseja utilizar, no meu caso tenho o directoria raiz e dentro criei a pasta backup, script e locais a serem depositado os backups, ficando conforme abaixo:<\/p>\n<pre class=\"theme:shell-default font:monospace font-size:14 toolbar:1 toolbar-overlay:false lang:sh decode:true\">\/home\/hospedagem\/backup\/\r\n\/home\/hospedagem\/backup\/backup.sh\r\n\/home\/hospedagem\/backup\/sites\/\r\n\/home\/hospedagem\/backup\/mysql\/<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h5 style=\"text-align: justify;\">2 - Defini\u00e7\u00e3o dos locais e bases a serem feito backups<\/h5>\n<p style=\"text-align: justify;\">Definir quais os direct\u00f3rios e bases a colocados na rotina, no meu caso as duas bases wordpress e glpi, o direct\u00f3rio inteiro do wordpress e dentro do glpi apenas o direct\u00f3rio files, porem o script que irei apresentar \u00e9 bem intuitivo para acrescentar direct\u00f3rios conforme necessidade.<\/p>\n<p>&nbsp;<\/p>\n<h5 style=\"text-align: justify;\">3 - Shell Script<\/h5>\n<p style=\"text-align: justify;\">Abaixo o Shell Script que deve ser alterado conforme seu ambiente:<\/p>\n<pre class=\"theme:shell-default font:monospace font-size:14 toolbar:1 toolbar-overlay:false lang:sh decode:true\" title=\"backup_v2.sh\">#!\/bin\/sh\r\n#===============================================================================#\r\n#  NOTA DE LICEN\u00c7A                                                              #\r\n#                                                                               #\r\n#  Este trabalho esta licenciado sob uma Licen\u00e7a Creative Commons               #\r\n#  Atribui\u00e7\u00e3o: Compartilhamento pela mesma Licen\u00e7a 3.0 Brasil. Para ver uma     #\r\n# copia desta licen\u00e7a, visite http:\/\/creativecommons.org\/licenses\/by\/3.0\/br\/    #\r\n# ou envie uma carta para Creative Commons, 171 Second Street, Suite 300,       #\r\n# San Francisco, California 94105, USA.                                         #\r\n# ----------------------------------------------------------------------------  #\r\n#  Autor: Jhones Petter | jhones.petter@gmail.com em 31\/01\/2015                 #\r\n#  Descri\u00e7\u00e3o: Backup dos Sites e Bancos em Hospedagem, complemento com fun\u00e7\u00e3o   #\r\n# PEGA_BACKUP para download dos arquivos e limpeza dos direct\u00f3rios.             #\r\n#  Data cria\u00e7\u00e3o: 31\/01\/2015                                                     #\r\n#  Versao: 2.0 - (.\/backup_v2.sh)                                               #\r\n# ----------------------------------------------------------------------------- #\r\n#  Altera\u00e7\u00f5es:                                                                  #\r\n#   Jhones Petter - 03\/02\/2015 - Gera\u00e7\u00e3o dos backups dos sites em \u00fanico         #\r\n# arquivo tarball, centralizando na vari\u00e1vel DIRS.                              #\r\n#===============================================================================#\r\n\r\ndir_mysql=\"\/home\/hospedagem\/backup\/mysql\"\r\ndir_sites=\"\/home\/hospedagem\/backup\/sites\"\r\ntar=\"\/home\/hospedagem\/backup\/sites\/hospedagem-sites-$(date \"+%d%m%y\").tar.gz\"\r\ndir1=\"\/home\/hospedagem\/public_html\/directorio1\"\r\ndir2=\"\/home\/hospedagem\/backup\/backup.sh\"\r\ndir3=\"\/home\/hospedagem\/public_html\/directorio3\"\r\ndirs=\"$dir1 $dir2 $dir3\"\r\n\r\ngera_sql() {\r\nmysqldump -u nome_user_base1 -psenha_user_base1 nome_base1 | gzip &gt; $dir_mysql\/nome_base1-$(date \"+%d%m%y\").sql.gz\r\nmysqldump -u nome_user_base2 -psenha_user_base2 nome_base2 | gzip &gt; $dir_mysql\/nome_base2-$(date \"+%d%m%y\").sql.gz\r\n}\r\n\r\ngera_tar() {\r\ntar -vzcf $tar $dirs\r\n}\r\n\r\ngera_sql\r\ngera_tar\r\n\r\nexit<\/pre>\n<p style=\"text-align: justify;\">Script simples, \u00e1gil, de f\u00e1cil manipula\u00e7\u00e3o e entendimento, n\u00e3o coloquei sa\u00edda de nenhum comando pois o CPanel quando executa o script manda um e-mail informando a execu\u00e7\u00e3o junto com sa\u00edda do script.<\/p>\n<p>&nbsp;<\/p>\n<h5 style=\"text-align: justify;\">4 - Activar rotina no CPanel utilizando o Cron<\/h5>\n<p style=\"text-align: justify;\">Dentro de \"Tarefas Cron\" basta adicionar um novo trabalho, colocando a periodicidade de execu\u00e7\u00e3o e o comando a ser executado e adicionar:<\/p>\n<pre class=\"toolbar-overlay:false lang:sh decode:true\">\/bin\/sh \/home\/hospedagem\/backup\/backup.sh<\/pre>\n<p><a href=\"http:\/\/wordpress.jpcorp.eti.br\/wp-content\/uploads\/2015\/02\/post2-21.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-103 size-full\" src=\"http:\/\/wordpress.jpcorp.eti.br\/wp-content\/uploads\/2015\/02\/post2-21.png\" alt=\"Tarefas Cron\" width=\"776\" height=\"330\" srcset=\"https:\/\/wordpress.jpcorp.eti.br\/wp-content\/uploads\/2015\/02\/post2-21.png 776w, https:\/\/wordpress.jpcorp.eti.br\/wp-content\/uploads\/2015\/02\/post2-21-300x128.png 300w, https:\/\/wordpress.jpcorp.eti.br\/wp-content\/uploads\/2015\/02\/post2-21-644x274.png 644w\" sizes=\"(max-width: 776px) 100vw, 776px\" \/><\/a><\/p>\n<p>Tarefas Cron<\/p>\n<h5 style=\"text-align: justify;\"><\/h5>\n<p>&nbsp;<\/p>\n<h5 style=\"text-align: justify;\">5 - Download dos arquivos tar<\/h5>\n<p style=\"text-align: justify;\">Pow gerar o backup dos locais e banco esta pronto, mas vou ter que baixar os arquivos manualmente?<\/p>\n<p style=\"text-align: justify;\">Aqui como utilizo o Ubuntu em meu desktop, criei um outro script PEGA_BACKUP.sh e coloquei para executar no Cron, sua fun\u00e7\u00e3o \u00e9 baixar os arquivos da hospedagem e limpar, abaixo o script que deve ser alterado conforme seu ambiente:<\/p>\n<pre class=\"theme:shell-default font:monospace font-size:14 toolbar:1 toolbar-overlay:false lang:sh decode:true \" title=\"pega_backup_v1.sh\">#!\/bin\/sh\r\n#===============================================================================#\r\n#  NOTA DE LICEN\u00c7A                                                              #\r\n#                                                                               #\r\n#  Este trabalho esta licenciado sob uma Licen\u00e7a Creative Commons               #\r\n#  Atribui\u00e7\u00e3o: Compartilhamento pela mesma Licen\u00e7a 3.0 Brasil. Para ver uma     #\r\n# copia desta licen\u00e7a, visite http:\/\/creativecommons.org\/licenses\/by\/3.0\/br\/    #\r\n# ou envie uma carta para Creative Commons, 171 Second Street, Suite 300,       #\r\n# San Francisco, California 94105, USA.                                         #\r\n# ----------------------------------------------------------------------------- #\r\n#  Autor: Jhones Petter | jhones.petter@gmail.com em 31\/01\/2015                 #\r\n#  Descri\u00e7\u00e3o: Fun\u00e7\u00e3o PEGA_BACKUP para download dos arquivos e limpeza           #\r\n# do direct\u00f3rio.                                                                #\r\n#  Data cria\u00e7\u00e3o: 31\/01\/2015                                                     #\r\n#  Vers\u00e3o: 1.0 - (.\/pega_backup_v1.sh)                                          #\r\n#===============================================================================#\r\n\r\n#!\/bin\/sh\r\n\r\npega_backup() {\r\nhost_ftp=\"ftp.seu_ftp.com.br\"\r\nuser_ftp=\"usuario_ftp\"\r\npass_ftp=\"senha_ftp\"\r\narqvos=\"*.gz\"\r\n    ftp -in &lt;&lt; EOF\r\n    open $host_ftp\r\n    user $user_ftp $pass_ftp\r\n    lcd \/diretorio_local_em_seu_desktop\/mysql\r\n    cd mysql\r\n    mget $arqvos\r\n    mdelete $arqvos\r\n    lcd \/diretorio_local_em_seu_desktop\/sites\r\n    cd ..\/sites\r\n    mget $arqvos\r\n    mdelete $arqvos\r\n    bye\r\nEOF\r\n}\r\n\r\npega_backup\r\n\r\nexit<\/pre>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">Refer\u00eancias:<\/p>\n<ul>\n<li style=\"text-align: justify;\"><a href=\"http:\/\/support.hostgator.com\/articles\/cpanel\/what-do-i-put-for-the-cron-job-command\" target=\"_blank\" rel=\"noopener\">http:\/\/support.hostgator.com\/articles\/cpanel\/what-do-i-put-for-the-cron-job-command<\/a><\/li>\n<\/ul>\n<hr \/>\n<p><object width=\"728\" height=\"90\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http:\/\/download.macromedia.com\/pub\/shockwave\/cabs\/flash\/swflash.cab#version=10,1,53,64\"><param name=\"movie\" target=\"_blank\" value=\"http:\/\/afiliados.hostgator.com.br\/media\/banners\/hospedagem_hostgator_01.swf?actionURL=http:\/\/www.hostgator.com.br\/17500-4-1-6.html\" \/><param name=\"quality\" value=\"high\" \/><embed src=\"http:\/\/afiliados.hostgator.com.br\/media\/banners\/hospedagem_hostgator_01.swf?actionURL=http:\/\/www.hostgator.com.br\/17500-4-1-6.html\" quality=\"high\" pluginspage=\"http:\/\/www.macromedia.com\/shockwave\/download\/index.cgi?P1_Prod_Version=ShockwaveFlash\" type=\"application\/x-shockwave-flash\" width=\"728\" height=\"90\" \/><\/object><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recentemente contratei um plano de Hospedagem, onde subi o WordPress e o Glpi. Ap\u00f3s ativar e configurar as aplica\u00e7\u00f5es me veio a preocupa\u00e7\u00e3o do Backup, e ent\u00e3o surgiu as d\u00favidas: Ser\u00e1 que possui ferramenta de backup dos sites e banco autom\u00e1tico dentro do CPanel? Ser\u00e1 que tenho acesso a um Terminal no CPanel? A necessidade&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[14],"_links":{"self":[{"href":"https:\/\/wordpress.jpcorp.eti.br\/index.php?rest_route=\/wp\/v2\/posts\/58"}],"collection":[{"href":"https:\/\/wordpress.jpcorp.eti.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.jpcorp.eti.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.jpcorp.eti.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.jpcorp.eti.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=58"}],"version-history":[{"count":50,"href":"https:\/\/wordpress.jpcorp.eti.br\/index.php?rest_route=\/wp\/v2\/posts\/58\/revisions"}],"predecessor-version":[{"id":1514,"href":"https:\/\/wordpress.jpcorp.eti.br\/index.php?rest_route=\/wp\/v2\/posts\/58\/revisions\/1514"}],"wp:attachment":[{"href":"https:\/\/wordpress.jpcorp.eti.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=58"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.jpcorp.eti.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=58"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.jpcorp.eti.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=58"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}