Condição IF em um SCP [RESOLVIDO]

1. Condição IF em um SCP [RESOLVIDO]

Felipe Pedro Fineza
Fineza

(usa Outra)

Enviado em 24/12/2010 - 10:57h

Galera, comecei a utilizar o Shell Script ontem para automatizar um processo de backup que irei fazer toda semana..

No meu codigo, necessito fazer uma condição para um possivel erro..
Primeiro o codigo cria pastas
Segundo ele transfere os arquivos de um servidor de fora via SCP (ai que entra o meu problema)
queria fazer uma condição para que se a transferencia de arquivos do SCP acontecesse algum erro, ele simplesmente ia pular a Terceira parte, que é a de compactação, e simplesmente ia para a Quarta parte e removia as pastas que foram criadas na primeira parte...

Segue o codigo:

<code>

#!/bin/bash

#Backup XXXXX

##Data Atual
DATA=`date +%F`

##Cria a pasta do backup
mkdir /root/backup/XXXXX-$DATA
mkdir /root/backup/XXXXX-$DATA/media
mkdir /root/backup/XXXXX-$DATA/media/backup

##Transfere o backup para a maquina
scp -r X@IP:/media/backup/*-2010-12-25.tar.gz /root/backup/XXXXX-$DATA/media/backup

##Compacta o backup
cd /root/backup
tar -cf XXXXX-$DATA.tar XXXXX-$DATA
gzip -9 XXXXX-$DATA.tar

##Remove a pasta
rm -rf /root/backup/ESecure-$DATA
</code>

Alguem poderia me dar uma ajuda ?


  


2. uso de

Perfil removido
removido

(usa Nenhuma)

Enviado em 24/12/2010 - 11:06h

Não sei se vai funcionar, mas eu clolcaria assim:





#!/bin/bash

#Backup XXXXX

##Data Atual
DATA=`date +%F`

##Cria a pasta do backup
mkdir /root/backup/XXXXX-$DATA
mkdir /root/backup/XXXXX-$DATA/media
mkdir /root/backup/XXXXX-$DATA/media/backup

##Transfere o backup para a maquina
scp -r X@IP:/media/backup/*-2010-12-25.tar.gz /root/backup/XXXXX-$DATA/media/backup || cd /root/backup; tar -cf XXXXX-$DATA.tar XXXXX-$DATA; gzip -9 XXXXX-$DATA.tar; rm -rf /root/backup/ESecure-$DATA

##Compacta o backup
cd /root/backup
tar -cf XXXXX-$DATA.tar XXXXX-$DATA
gzip -9 XXXXX-$DATA.tar

##Remove a pasta
rm -rf /root/backup/ESecure-$DATA


é como eu falei não sei se vai funcionar mas eu tentaria deste modo, usando dois "pipes" '||' ou sei lá o nome disso, e na frente de || os comandos que eu quero que sejam execultados caso o comando anterior dê algum erro.
se este post lhe ajudou me avise se não me avise também, valeu!



3. Re: Condição IF em um SCP [RESOLVIDO]

Felipe Pedro Fineza
Fineza

(usa Outra)

Enviado em 24/12/2010 - 11:21h

Opa, valeu pela resposta, consegui resolver da seguinte forma...

if [ -e /root/backup/*-$DATA.tar.gz]
then

##Compacta o backup
cd /root/backup
tar -cf XXXXX-$DATA.tar XXXXX-$DATA
gzip -9 XXXXX-$DATA.tar
else
echo 'O arquivo não pode ser transferido, removendo pastas..'
fi

Valeu mais uma vez galera :D






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts