Pular para o conteúdo

ShellScript para fazer backup com LOG de arquivos de um computador (Dùvidas)

Responder tópico
  • Denunciar
  • Indicar

1. ShellScript para fazer backup com LOG de arquivos de um computador (Dùvidas)

Enviado em 22/11/2015 - 13:47h

Olá galera! Boa tarde!

Então, estou com dúvidas em como continuar com a programação de um script que possua estas seguintes características:

- Deverá ser criado um arquivo de log /var/backup/backup_DD_MM_AAAA.log e registrar o INÍCIO do processo (todas as linhas do log devem ter data e hora)
- O Script receberá pela linha de comando uma lista de pastas, para cada pasta:
> Caso a pasta não exista deve ser registrado no arquivo de log
> O Script deverá remover da pasta todos os arquivos do tipo TMP e listar os arquivos apagados no arquivo de log
> O Script irá empacotar os arquivos de cada pasta informada /var/backup/backup_DD_MM_AAAA.tar . A saída de erro desse comando deve ser registrada no arquivo de log.



Eu começei o script assim mais ou menos :

GNU nano 2.4.1 Arquivo: programa_backup.sh Modificado

#!/bin/bash

sim="SIM"
nao="NAO"

echo "Seja bem vindo!"

echo "Deseja fazer o backup dos arquivos? [SIM ou NAO]"
read resposta

if [ "$resposta" == "$sim" ]; then

DIR_backup=/var/backup/
arquivo_log=/var/backup/backup_DD_MM_AAAA.log
mkdir $DIR_backup
chmod 0777 $DIR_backup
echo "Criado diretório $backup com sucesso!" >> $arquivo_log

tar -zcf backup_DD_MM_AAAA.tar *
gzip -9 -v backup_DD_MM_AAAA.tar >> $arquivo_log

#Log de registro de arquivo zipado .tar.gz





# Enviar arquivo backup_DD_MM_AAAA.tar.gz para a pasta /var/backup

cp backup_DD_MM_AAAA.tar.gz /var/backup


# Descompactar arquivos na pasta de /var/backup

gzip -d backup_DD_MM_AAAA.tar.gz
tar -zxvf backup_DD_MM_AAAA.tar


elif [ "$resposta" == "$nao" ]; then

echo "Saindo do backup!" || exit 0

else
echo "Digite sim ou não por favor!"
exit 0
fi




O que eu poderia estar melhorando ou aprimorando? alguém pode me ajudar?

Grato

Responder tópico

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder