Fazer backup de um diretório no Linux usando um script de shell


Existem várias opções para fazer backup de seus dados no Linux. Você pode usar alguns programas de software disponíveis gratuitamente, como fwbackups e Sbackup. No entanto, existe um método simples de fazer o backup de um diretório sem instalar nenhum software extra.

Vamos criar um script de shell usando variáveis, o comando tare a datacomando para criar um arquivo de backup datado de um diretório, com seus subdiretórios.

Um script de shell é essencialmente um arquivo que contém uma lista de comandos que são executados em seqüência. Se você tiver uma série de comandos que você executa regularmente em ordem, é útil criar um script de shell contendo esses comandos. Então, você só precisa executar o arquivo de script para executar os comandos.

Criando o arquivo de script do shell

Para este exemplo, vamos criar um script de shell para fazer backup de um diretório contendo arquivos para um guia do usuário. Estamos usando o ambiente Gnomeno Ubuntu.

Primeiro, acesse seu diretório inicial, selecionando Home Folderno diretório Menu Locais. O Navegador de arquivosé aberto no seu diretório pessoal.

Opening the home folder

Vamos criar um novo arquivo vazio no qual irá inserir os comandos para executar o backup. Clique com o botão direito do mouse no painel direito e selecione Criar documento | Arquivo Vaziono menu pop-up.

Creating an empty shell script file

Um arquivo é adicionado à lista e está pronto para ser renomeado. Digite um nome para o arquivo, dando ao arquivo uma extensão .sh.

New file ready to be renamed

Para este exemplo, nós nomeamos nosso arquivo user_guide_backups.sh.

Shell script file renamed

Agora precisamos adicionar os comandos ao arquivo. Clique com o botão direito no nome do arquivo e selecione Abrir com geditno menu pop-up.

Opening shell script file with gedit

O arquivo é aberto em gedit. Digite as seguintes linhas no arquivo e clique em Salvar. O objetivo de cada linha está listado abaixo.

NOTA:Você também pode copiar o seguinte texto e colá-lo em gedit. Não se esqueça de alterar & lt; username & gt;para o seu nome de usuário.

#!/bin/bash
SRCDIR="/home/<username>/Documents/my_work/" DESTDIR="/home/<username>/Backups/" FILENAME=ug-$(date +%-Y%-m%-d)-$(date +%-T).tgz tar --create --gzip --file=$DESTDIR$FILENAME $SRCDIR

Editing shell script file in gedit

Line Descrição por-linha

A seguinte tabela descreve o que cada linha está no arquivo de script de shell.

Linha # Descrição 1 Esta linha deve ser a primeira linha em um script de shell bash, que é o tipo de script padrão. 2 Esta linha configura uma variável chamada SRCDIRe define o valor dela para o diretório do backup.
NOTA:Substitua & lt; username & gt;pelo seu nome de usuário. 3 Esta linha configura uma variável chamada DESTDIRe define o valor dela para o diretório no qual o arquivo de backup será gravado. strong>NOTA:Substitua & lt; username & gt;pelo seu username. 4 Esta linha configura uma variável chamada FILENAMEe define o valor usando texto e variáveis ​​contendo o comando datepara adicionar a data e a hora atuais ao nome do arquivo. Por exemplo, o nome do arquivo pode ser ug-20100212-13: 03: 45.tgz.
OBSERVAÇÃO:Ao usar uma variável, sempre inicie-a com o sinal de cifrão ($). Se você usar um comando como parte de uma variável, coloque o comando e as opções para o comando entre parênteses. 5 Esta linha é o comando tarcom a seguinte função e as opções adicionadas.
- criar Esta função cria um novo arquivo (ou trunca um antigo se o nome do arquivo especificado já existir) e grava os arquivos nomeados ou diretório para ele. –gzip Esta opção diz ao tar para compactar os arquivos no arquivo usando o utilitário gzip. - arquivo Esta opção dá ao tar o nome do arquivo a ser usado. Neste caso, montamos o nome do arquivo usando as variáveis ​​DESTDIR, FILENAMEe SRCDIR.

Editando as permissões no arquivo de script do shell

Antes de executar o script, é necessário certificar-se de que arquivo tem as permissões corretas. Para fazer isso, abra sua Pasta Inicialnovamente como mencionado acima e clique com o botão direito do mouse no arquivo de script de shell. Selecione Propriedadesno menu pop-up.

Getting the properties of the shell script file

A caixa de diálogo Propriedadesé exibida . Certifique-se de que a caixa de seleção Executeesteja marcada.

Shell script file permissions

Clique em Fechar.

Executando o Script Shell

Para executar o shell script, abra uma janela de terminal selecionando Acessórios | Terminaldo menu Aplicações.

Opening a Terminal window

Quando a janela Terminalabre, você deve estar na sua Pasta Inicialpor padrão. Digitar pwdna linha de comando e pressionar enter confirma esse fato. No prompt, digite ./ user_guide_backups.she pressione Enter.

Running the shell script

Você deve ter um arquivo .tgzna pasta Backups em sua Home Folder. Se você clicar com o botão direito do mouse no nome do arquivo, verá várias opções para abrir o arquivo em um dos programas de arquivamento disponíveis ou extrair os arquivos diretamente para a pasta Backupsusando o Extrair aquicommand.

Pop-up menu options for .tgz file

Mais informações

Os links abaixo fornecem mais informações sobre scripts de shell, o tare datacomandos e outros comandos do Linux.

Scripting

Um guia rápido para escrever scripts usando o shell bash

Bash Shell Scripting - Guia de 10 Segundos | Tudo sobre o Linux

Manual de Referência Bash

Comandos do Linux

tar MAN Page

data MAN Page

Comandos bash - Linux MAN Pages

Explorar essas páginas ajudará você a construir seus próprios scripts de shell bash úteis.

rsync - Cópia, Sincronização e Backup de arquivos no Linux

Postagens relacionadas:


16.02.2010