Dúvida Criar um script para deletar arquivos de Parâmetros [RESOLVIDO]

1. Dúvida Criar um script para deletar arquivos de Parâmetros [RESOLVIDO]

Danilo Lopes
danilofavacho

(usa Fedora)

Enviado em 29/01/2014 - 02:36h

Bom dia pessoal,

Gostaria de que vocês me ajudassem a escrever um script para o meu trabalho. A idéia e a seguinte:

1 - Tenho um computador linux com ip ex: 192.168.0.5
2 - Nele eu tenho arquivos com o mesmo formato na pasta /root/arquivos/:

04888.txt
04001.txt
04002.txt
04003.txt

3 - Cada arquivo desse também está em outro computador com o ip final do arquivo /root/arquivos/:

04888.txt
04001.txt --> está no ip 192.168.1.1
04002.txt --> está no ip 192.168.1.2
04003.txt --> está no ip 192.168.1.3

A pergunta é como eu crio um script para ler os formatos dos arquivos do item 2, retirando o arquivo 04888.txt da lista e deletando os demais arquivos (001,002,003) e também conectar nos ips final 1,2 e 3 e deletar esses arquivos também?

O máximo que consigo é conectar nestes computadores via ssh autenticado e consigo listar os itens com formato .txt.

# código exemplo que fiz
Ex: ssh root@192.168.0.5 " cd /arquivos; find *.txt ...."

Gostaria de agradecer pelo espaço e a ajuda de todos vocês.



  


2. Re: Dúvida Criar um script para deletar arquivos de Parâmetros [RESOLVIDO]

Marcos Paulo Ferreira
daemonio

(usa Slackware)

Enviado em 01/02/2014 - 20:48h

Olá,

pelo que entendi:

1) Listar todos os arquivos de /root/arquivos
2) Se for o 04888.txt então não fazer nada
3) Se for do tipo 0400X.txt, conectar no IP: 192.168.1.X e deletar o arquivo /root/arquivos/0400X.txt

é isso mesmo? Se for, o código será algo assim:


#!/bin/bash

# Usada para procurar os arquivos txt e também
# para deletá-los nas outras máquinas
PASTA='/root/arquivos'

for ARQUIVO in $PASTA/*.txt
do
[ "$ARQUIVO" = "04888.txt ] && continue

rm -f $ARQUIVO
ssh root@192.168.1.${ARQUIVO:4:1} "rm -f $PASTA/$ARQUIVO"


obs1: Aqui considerei que o nome de um arquivo é sempre constituído de 5 números mais a extensão .txt, e também que o endereço do ssh é 192.168.1 + o número antes do .txt. Se esses formatos não forem respeitados, o script não funcionará;

obs2: troque o "rm -f" por um "echo" só para testar; se tiver tudo ok, troque pelo rm novamente.


t+


3. Ideia Script

Danilo Lopes
danilofavacho

(usa Fedora)

Enviado em 06/02/2014 - 20:56h

Olá,

Gostaria de agradecer suas dicas, mas a ideia é a seguinte do script.

1 - Conectar via ssh no ip 192.168.0.5
2 - Ler os arquivos .txt menos o 04888.txt ( aqui também tem os arquivos 04001.txt e 04010.txt) na pasta /root/arquivos
3 - Deletar os arquivos .txt menos o 04888.txt
4 - Conectar via ssh nos ips remotos que são identificados com os dois últimos dígitos antes do txt e remover os arquivos.
Ex1: 04001.txt -> 192.168.1.1
Ex2: 04010.txt -> 192.168.1.10


daemonio escreveu:

Olá,

pelo que entendi:

1) Listar todos os arquivos de /root/arquivos
2) Se for o 04888.txt então não fazer nada
3) Se for do tipo 0400X.txt, conectar no IP: 192.168.1.X e deletar o arquivo /root/arquivos/0400X.txt

é isso mesmo? Se for, o código será algo assim:


#!/bin/bash

# Usada para procurar os arquivos txt e também
# para deletá-los nas outras máquinas
PASTA='/root/arquivos'

for ARQUIVO in $PASTA/*.txt
do
[ "$ARQUIVO" = "04888.txt ] && continue

rm -f $ARQUIVO
ssh root@192.168.1.${ARQUIVO:4:1} "rm -f $PASTA/$ARQUIVO"


obs1: Aqui considerei que o nome de um arquivo é sempre constituído de 5 números mais a extensão .txt, e também que o endereço do ssh é 192.168.1 + o número antes do .txt. Se esses formatos não forem respeitados, o script não funcionará;

obs2: troque o "rm -f" por um "echo" só para testar; se tiver tudo ok, troque pelo rm novamente.


t+









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts