Script de backup [RESOLVIDO]

1. Script de backup [RESOLVIDO]

Leonardo Luca Ribeiro
bilposter22

(usa Ubuntu)

Enviado em 09/07/2021 - 18:42h

Galera estou tentando fazer um script de backup, e preciso que esse script faça backup de N diretórios, especificados em um arquivo.txt denominado 'diretorios_backup' e o caminho para os diretórios devem ser escritos em linhas separadas no arquivo. De momento o script está realizando backup de um diretório especifico passando o caminho na variável backup_arquivos. Alguém poderia me ajudar ? segue oque codei até agr.



#!/bin/bash
backup_arquivos="/compartilhamentos/ti"
destino="/backup"

dia=$(date +%d-%m-%y)
hostname=$(hostname -s)

arquivo="$hostname-$dia.tar.bz2"

sleep 1

echo "Realizando backup: $backup_arquivos para $destino/$arquivo"

sleep 1

tar -zcvf $destino/$arquivo $backup_arquivos

sleep 1

echo "backup realizado com sucesso!"

ls -lh $destino




  


2. Re: Script de backup [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 09/07/2021 - 19:36h


Qual a dificuldade?

______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________



3. Re: Script de backup

Leonardo Luca Ribeiro
bilposter22

(usa Ubuntu)

Enviado em 09/07/2021 - 20:18h

Eu preciso que esse script faça o backup de N diretórios, especificando o caminho deles em um arquivo.txt, mas não sei como fazer isso.


4. Re: Script de backup [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 09/07/2021 - 20:55h


bilposter22 escreveu:

Eu preciso que esse script faça o backup de N diretórios, especificando o caminho deles em um arquivo.txt, mas não sei como fazer isso.

É bastante simples....
Deve ler, linha a linha do arquivo.txt e atribuir o conteúdo da linha para uma variável.
Segue:
#!/usr/bin/env bash
sep=$(printf "%60s" ' '|sed 's/ /-/g;s/^\|$/#/g');
data=$(date +%d-%m-%y);
host=$(hostname -s)
count=0

while IFS="\n" read -r _dir;do #Aqui é feita a leitura das linhas, uma por vez. é e gerada a var "_dir" com o conteúdo da linha
let count++;
_arq="/backup${_dir}_${host}_${data}.tar.bz2";
printf " ${sep}\n%02d - Realizando backup\nDe: ${_dir}\nPara: ${_arq}\nAguarde. . .\n" $count;
#Cheque a saída da linha acima, estando ok, "descomente" a linha abaixo.
#tar -zcvf ${_arq} ${_dir};
wait;
ls ${_arq} &>/dev/null && stt="Backup realizado com sucesso" || stt="Backup falhou"
echo -e "${stt}\n"
done < dirs.txt #dirs.txt tem os diretórios, um por linha, evite espaços no nome dos diretórios. pode ocasionar erro....



______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p',
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:

Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.

______________________________________________________________________



5. Re: POR NADA!!!

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 11/07/2021 - 00:25h

Por nada!!!
Precisando......

______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________