Gerar um script que pegue o ultimo dado baixado

1. Gerar um script que pegue o ultimo dado baixado

Luiz Fernando
lui_ferreira

(usa Ubuntu)

Enviado em 05/10/2011 - 08:43h

Ola , estou com um probleminha , gerei um script para baixar alguns dados so que a conexão as vezes cai dai tenhu que abrir meu script e mudar a data de acordo com o ultimo dado que baixei , mas são muitos dados , entao isso se tor uma tarefa chata , eu sou iniciante em script shell e como sei que aqui tem muito feras gostaria de saber se alguem pode me ajudar.


so preciso que o script pegue o ultimo dado que baixei e faça a reconexão para continuar baixando sem que eu precise ficar trocando manualmente.

abraços!


  


2. Re: Gerar um script que pegue o ultimo dado baixado

Perfil removido
removido

(usa Nenhuma)

Enviado em 05/10/2011 - 15:55h

Por favor, nos ajude a te ajudar nos mostrando a(s) saída(s) - linhas do arquivo - de seu script e o significado dos campos para que tenhamos uma ideia de como lhe ajudar.
Pode ser um exemplo e não dados reais.

Segue uma ideia:



# pega a ultima linha do arquivo
tail -n 1 arquivo



Mas para ser mais eficiente necessário que nos forneça amostras dos dados contidos nesse arquivo.




3. script que to ultilizando

Luiz Fernando
lui_ferreira

(usa Ubuntu)

Enviado em 06/10/2011 - 10:10h

#!/usr/bin/perl -Ipath_to_where_ECMWF::DataServer_is_installed
use ecmwf::DataServer;
use Date::Calc qw(Add_Delta_Days Delta_Days);
use strict;

my $client = ECMWF::DataServer->new(
portal => 'http://data-portal.ecmwf.int/data/d/dataserver/',
token => '15bfc1b8a1f87bf5dfc',
email => 'script@script.com',
);

# This is the start date. Modify as required
my ($year, $month, $day) = (2009, 01, 01);
# This is the end date. Modify as required
my @enddate = (2009, 1, 31);
my @date = (2009, 01, 01);
while (Delta_Days(@date,@enddate) >= 0) {

my $date = sprintf("%d-%02d-%02d", $year, $month, $day);

$client->retrieve(
dataset => "interim_daily",
step => "0",
levtype => "pl",
type => "an",
param => "130.128",
levelist => "1/2/3/5/7/10/20/30/50/70/100/150/200/250/300/400/500/600/700/775/850/925/1000",
area => "60/-120/30/-60",
date => "$date",
time => "00/12",
target => "Geopotencial_00:00_12:00${date}.grib",
);

# move to next day
($year, $month, $day) = Add_Delta_Days($year, $month, $day, 1);

}


Só que não sei se devido a conexão que cai , o script para , dai tenho que listar o que ele ja baixou e muda as data aqui no script e rodar ele de novo isso acaba sendo chato né .. isso é se um modelo mais o atual tenhu que baixar dados de 10 anos ai complica...
e queria integrar um script para que ele listace o diretorio de onde esta baixando ver em qual ele parou e reconectar altomaticamente sem precisar que eu fike alterando as datas e o colocando para rodar de novo..

abraços!


4. Re: Gerar um script que pegue o ultimo dado baixado

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 08/10/2011 - 11:14h

lui_ferreira escreveu:


#!/usr/bin/perl -Ipath_to_where_ECMWF::DataServer_is_installed
use ecmwf::DataServer;
use Date::Calc qw(Add_Delta_Days Delta_Days);
use strict;

my $client = ECMWF::DataServer->new(
portal => 'http://data-portal.ecmwf.int/data/d/dataserver/',
token => '15bfc1b8a1f87bf5dfc',
email => 'script@script.com',
);

# This is the start date. Modify as required
my ($year, $month, $day) = (2009, 01, 01);
# This is the end date. Modify as required
my @enddate = (2009, 1, 31);
my @date = (2009, 01, 01);
while (Delta_Days(@date,@enddate) >= 0) {

my $date = sprintf("%d-%02d-%02d", $year, $month, $day);

$client->retrieve(
dataset => "interim_daily",
step => "0",
levtype => "pl",
type => "an",
param => "130.128",
levelist => "1/2/3/5/7/10/20/30/50/70/100/150/200/250/300/400/500/600/700/775/850/925/1000",
area => "60/-120/30/-60",
date => "$date",
time => "00/12",
target => "Geopotencial_00:00_12:00${date}.grib",
);

# move to next day
($year, $month, $day) = Add_Delta_Days($year, $month, $day, 1);

}


Só que não sei se devido a conexão que cai , o script para , dai tenho que listar o que ele ja baixou e muda as data aqui no script e rodar ele de novo isso acaba sendo chato né .. isso é se um modelo mais o atual tenhu que baixar dados de 10 anos ai complica...
e queria integrar um script para que ele listace o diretorio de onde esta baixando ver em qual ele parou e reconectar altomaticamente sem precisar que eu fike alterando as datas e o colocando para rodar de novo..

abraços!


UP






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts