Backup do Ghost no Linux: Guia Completo com Linha de Comando

Foto do autor

By luis

A plataforma de blogs Ghost apresenta-se como uma excelente opção para novos utilizadores que desejam alojar o seu próprio software, graças ao seu script de instalação automática. No entanto, um aspeto que carece de atenção é a ausência de um script de backup automático. Consequentemente, muitas instalações do Ghost acabam por não ter cópias de segurança regulares. Uma solução simples para realizar backups de um blog Ghost é através do gestor de backup integrado. Apesar de este método não oferecer a mesma abrangência ou flexibilidade que outras opções, ele cumpre o seu propósito de forma rápida e eficaz.

Para efetuar um backup de um blog Ghost através da interface do Ghost, abra uma nova aba no seu navegador e aceda ao seguinte endereço:

https://myghostblog.com/ghost/settings/labs/

Na página “Labs” da interface web do Ghost, procure pelo botão “Exportar” e selecione-o. Ao clicar em “Exportar”, será criada uma cópia de segurança completa do seu blog. Para restaurar este tipo de backup, volte ao mesmo endereço, clique em “Importar”, localize o arquivo de backup e carregue-o. Assim que a importação for concluída, as configurações e os dados deverão regressar ao estado em que se encontravam no momento em que o backup foi criado.

Backup via Linha de Comandos

Embora o Ghost inclua uma ferramenta de backup integrada no seu software, esta não oferece o mesmo nível de segurança, automatização e liberdade que um backup efetuado através da linha de comandos do Linux pode proporcionar. Para realizar um backup de um blog Ghost num sistema Linux, comece por criar uma nova pasta, que irá alojar todos os arquivos de backup e dados importantes do Ghost.

Abra o terminal do servidor e utilize o comando mkdir para criar a nova pasta. Certifique-se de que não realiza esta operação como utilizador “root”!

mkdir -p ~/ghost-blog-backup
mkdir -p ~/ghost-blog-backup/sql

O comando mkdir cria um novo diretório na pasta /home/ do utilizador atualmente ligado. Esta é uma boa localização para armazenar os backups, uma vez que evita que estes se percam em locais aleatórios do sistema de arquivos Linux.

De seguida, utilize o sqldump para exportar a base de dados SQL do Ghost.

Nota: Substitua “username” por “root” e “databasename” pelo nome da base de dados fornecido ao Ghost durante a instalação.

mysqldump -u username -p databasename > db.ghost_blog.sql

Aceda ao diretório do Ghost utilizando o comando cd.

cd /var/www/ghost

Dentro do diretório do software Ghost, execute o comando ghost stop para desligar o software.

ghost stop

Com o software do servidor desligado, é seguro realizar uma cópia completa de todos os ficheiros para a pasta ~/ghost-blog-backup.

cp -rp /var/www/ghost/* ~/ghost-blog-backup

Ao executar o comando cp com as opções -rp, garante-se que as permissões definidas pelo software de instalação do Ghost se mantêm intactas. Agora, utilize o comando cd para sair de /var/www/ghost e regressar a /home/username.

cd ~/ 

Compactar o Backup

Todos os arquivos importantes do blog Ghost encontram-se agora em ~/ghost-blog-backup, com as suas permissões intactas. O passo seguinte consiste em compactar estes arquivos num único arquivo Tar. Criar um arquivo Tar do Ghost facilita o transporte de backups entre servidores, o carregamento para plataformas como Dropbox, NextCloud, ou a partilha com colegas de trabalho.

Para criar um novo arquivo compactado do backup do Ghost, utilize o comando tar no terminal.

Nota: Certifique-se de que copia o comando exatamente como apresentado. A sua modificação poderá levar à perda das permissões dos arquivos durante o processo de compactação!

tar -zcvpf ghost-blog-backup.tar.gz /home/username/ghost-blog-backup

Criptografar o Backup

O passo seguinte no processo de backup é crucial. Sem este passo, a base de dados do seu blog Ghost, os arquivos críticos do sistema e muito mais ficam expostos e acessíveis a qualquer pessoa que consiga aceder ao local onde armazenou o arquivo Tar. Felizmente, é muito fácil criptografar um arquivo Tar no Linux.

A forma mais rápida de criptografar a partir da linha de comandos do Linux é utilizando o GnuPG. Para criptografar, assegure-se de que o gpg está instalado. De seguida, execute o seguinte comando:

sudo gpg -c ghost-blog-backup.tar.gz

A execução do comando gpg com a opção -c iniciará de imediato o processo de criptografia. Ao concluir o processo, o resultado final será o arquivo ghost-blog-backup.tar.gz.gpg.

Com o backup agora criptografado com GPG, é seguro eliminar o arquivo Tar não criptografado. Para o eliminar, utilize o comando rm.

rm ghost-blog-backup.tar.gz

Restaurar o Backup

A restauração de um backup do Ghost num novo sistema começa com a desencriptação do backup. Transfira o ficheiro ghost-blog-backup.tar.gz.gpg para /home/username/ no servidor e desencripte-o com o comando:

gpg ghost-blog-backup.tar.gz.gpg

De seguida, extraia o arquivo desencriptado.

tar -xvpf ghost-blog-backup.tar.gz

Utilizando o comando cd, mova o terminal para a pasta SQL e utilize o comando mysqldump para restaurar a base de dados.

cd ~/ghost-blog-backup/sql
sudo -s
mysqldump -u username -p databasename <  db.ghost_blog.sql
rm -rf /home/username/ghost-blog-backup/sql

Após restaurar a base de dados, transfira os arquivos do sistema para a sua localização com o comando cp.

cp -rp /home/username/ghost-blog-backup/* /var/www/

Depois de tudo restaurado, reinstale o Ghost-cli com o NPM.

Nota: Poderá ser necessário reinstalar o NodeJS, Yarn, etc. Consulte o nosso tutorial para obter ajuda.

sudo npm i -g ghost-cli

Por fim, inicie o software do servidor Ghost com o comando:

ghost start

A execução do comando ghost start deverá ativar de imediato o serviço do blog Ghost no servidor.