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 backup de um diretório sem instalar nenhum software extra.

Vamos criar um shell script usando variáveis, o comando tar e o comando date 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 sequência. Se você tiver uma série de comandos que 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 de 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 Gnome no Ubuntu .

Primeiro, acesse seu diretório pessoal, selecionando Home Folder no menu Places . O Navegador de Arquivos(File Browser) é aberto em seu diretório inicial.

Abrindo a pasta inicial

Vamos criar um novo arquivo vazio no qual inseriremos os comandos para realizar o backup. Clique com o botão direito do mouse(Right-click) no painel direito e selecione Create Document | Empty File no menu pop-up.

Criando um arquivo de script de shell vazio

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

Novo arquivo pronto para ser renomeado

Para este exemplo, nomeamos nosso arquivo user_guide_backups.sh .

Arquivo de script de shell renomeado

Agora precisamos adicionar os comandos ao arquivo. Clique com o botão direito do mouse no nome do arquivo e selecione Abrir com gedit(Open with gedit) no menu pop-up.

Abrindo o arquivo de script de shell com o gedit

O arquivo é aberto no gedit . Digite as seguintes linhas no arquivo e clique em Salvar(Save) . A finalidade de cada linha está listada abaixo.

NOTA:(NOTE:) Você também pode copiar o texto a seguir e colá-lo no gedit . Certifique-se de alterar <username> para 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

Editando o arquivo de script de shell no gedit

Descrição linha a linha

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

Line # Description
1 This line must be the first line in a bash shell script, which is the default type of script.
2 This line sets up a variable called SRCDIR and sets the value of it to the directory to be backed up.
NOTE: Be sure to replace <username> with your username.
3 This line sets up a variable called DESTDIR and sets the value of it to the directory into which the backup file will be written.
NOTE: Be sure to replace <username> with your username.
4 This line sets up a variable called FILENAME and sets the value using text and variables containing the date command to add the current date and time to the filename. For example, the filename might be ug-20100212-13:03:45.tgz.
NOTE: When using a variable, always start it with the dollar sign ($). If you use a command as part of a variable, enclose the command and the options for the command in parentheses.
5 This line is the tar command with the following function and options added.

–create This function creates a new archive (or truncates an old one if the filename specified already exists) and writes the named files or directory to it.
–gzip This option tells tar to compress the files in the archive using the gzip utility.
–file This option gives tar the filename to use. In this case, we assembled the filename using the DESTDIR, FILENAME, and SRCDIR variables.

Editando as permissões(Permissions) no arquivo de script de shell(Shell Script File)

Antes de executar seu script, você precisa certificar-se de que o arquivo tenha as permissões corretas. Para fazer isso, abra sua pasta pessoal(Home Folder) novamente como mencionado acima e clique com o botão direito do mouse no arquivo de script de shell. Selecione Propriedades(Properties) no menu pop-up.

Obtendo as propriedades do arquivo de script de shell

A caixa de diálogo Propriedades(Properties) é exibida. Certifique(Make) -se de que a caixa de seleção Executar(Execute) esteja marcada.

Permissões de arquivo de script de shell

Clique em Fechar(Close) .

Executando o script de shell

Para executar o script de shell, abra uma janela de terminal selecionando Accessories | Terminal no menu Aplicativos .(Applications)

Abrindo uma janela do Terminal

Quando a janela do Terminal for aberta, você deverá estar na sua pasta pessoal(Home Folder) por padrão. Digitar pwd na linha de comando e pressionar enter confirma esse fato. No prompt, digite ./user_guide_backups.sh e pressione Enter .

Executando o script de shell

Você deve ter um arquivo .tgz na pasta (.tgz)Backups em sua pasta pessoal(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 Backups usando o comando Extrair aqui .(Extract Here )

Opções do menu pop-up para arquivo .tgz

Mais Informações

Os links abaixo fornecem mais informações sobre scripts de shell, os comandos tar e date e outros comandos do Linux(Linux) .

Script

Um guia rápido para escrever scripts usando o shell bash(A quick guide to writing scripts using the bash shell)

Bash Shell Scripting – 10 Seconds Guide | All about Linux

Manual de referência do Bash(Bash Reference Manual)

Comandos Linux

tar MAN Página(tar MAN Page)

data Página MAN(date MAN Page)

comandos bash – Linux MAN Pages(bash commands – Linux MAN Pages)

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



About the author

Depois de quase 20 anos na indústria de tecnologia, aprendi muito sobre os produtos da Apple e como personalizá-los para minhas necessidades. Em particular, sei como usar a plataforma iOS para criar aparências personalizadas e interagir com meus usuários por meio de preferências do aplicativo. Essa experiência me deu informações valiosas sobre como a Apple projeta seus produtos e a melhor forma de melhorar a experiência do usuário.



Related posts