Discussion:
[shell-script] Listar Arquivos do Hadoop Modificados após Determinada Data
heitor@bacula.com.br [shell-script]
2017-08-08 01:57:14 UTC
Permalink
Olá, Pessoal,


Espero que todos estejam bem!
Estou tentando fazer um script para chamar pelo Bacula e fazer backup dos arquivos do cluster Hadoop (HDFS). A cada backup pretendo salvar a data e horário em um arquivo, e depois filtrar os arquivos modificados após essa data e horário para fins de backup diferencial.
Não é possível usar o find do shell para usar o -newer.
Segue exemplo da lista:


==================================================
[***@hadoop2 teste]# /etc/hadoop/bin/hdfs dfs -ls -R / | sort -k6,7
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:54 /a
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:54 /b
drwxr-xr-x - root supergroup 0 2017-08-05 23:55 /teste
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:55 /d
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:55 /teste/e
==================================================



Alguma ideia?


Abraços,
===========================================================================
Heitor Medrado de Faria | CEO Bacula do Brasil | Visto EB-1 | LPIC-III | EMC 05-001 | ITIL-F
• Não seja tarifado pelo tamanho dos seus backups, conheça o Bacula Enterprise: http://www.bacula.com.br/enterprise/ http://www.bacula.com.br/enterprise/
• Ministro treinamento e implementação in-company do Bacula Community: http://www.bacula.com.br/in-company/ http://www.bacula.com.br/in-company/

+55 61 98268-4220 | www.bacula.com.br http://www.bacula.com.br/
============================================================================

Indicamos também as capacitações complementares:
• Shell básico e Programação em Shell http://www.livrate.com.br/ com Julio Neves.
• Zabbix http://www.spinola.net.br/blog com Adail Host.
============================================================================
'Andre Lopes da Silva' alopes@ime.usp.br [shell-script]
2017-08-08 12:00:27 UTC
Permalink
Olá

Desculpe, mas tem algum motivo específico pra não usar o find e checar os
tempos? Eu tenho um script aqui no trabalho pra limpar velharias dos
usuários que checa por exemplo a quanto tempo um arquivo está abandonado
na lixeira e para casos de arquivos mais tempo que X dias ele manda o
arquivo pro espaço... Fiquei curioso com a razão de não poder usar o
find...

Dito isso, essa idéia de salvar um arquivo com informações de data e
horário dos arquivos me parece com o que o DAR consegue fazer -
http://dar.linux.free.fr - É uma ferramenta que, entre outras
funcionalidades, consegue comparar arquivos com um arquivo de texto do
último backup por exemplo, talvez o código dele ou alguém do projeto
consiga te ajudar.
Post by ***@bacula.com.br [shell-script]
Olá, Pessoal,
Espero que todos estejam bem!
Estou tentando fazer um script para chamar pelo Bacula e fazer backup
dos arquivos do cluster Hadoop (HDFS). A cada backup pretendo salvar a
data e horário em um arquivo, e depois filtrar os arquivos modificados
após essa data e horário para fins de backup diferencial.
Não é possível usar o find do shell para usar o -newer.
==================================================
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:54 /a
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:54 /b
drwxr-xr-x - root supergroup 0 2017-08-05 23:55 /teste
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:55 /d
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:55 /teste/e
==================================================
Alguma ideia?
Abraços,
===========================================================================
Heitor Medrado de Faria | CEO Bacula do Brasil | Visto EB-1 | LPIC-III |
EMC 05-001 | ITIL-F
• Não seja tarifado pelo tamanho dos seus backups, conheça o Bacula
Enterprise: http://www.bacula.com.br/enterprise/
http://www.bacula.com.br/enterprise/
http://www.bacula.com.br/in-company/ http://www.bacula.com.br/in-company/
+55 61 98268-4220 | www.bacula.com.br http://www.bacula.com.br/
============================================================================
• Shell básico e Programação em Shell http://www.livrate.com.br/ com
Julio Neves.
• Zabbix http://www.spinola.net.br/blog com Adail Host.
============================================================================
--
--
Andre Lopes da Silva
Técnico em Informática
SI - IME-USP
3091-9891
Sala 120-A

Enviado através do OperaMail @ OpenSUSE LEAP 42.3
Marcos Braga braga.marcos@gmail.com [shell-script]
2017-08-08 12:06:12 UTC
Permalink
Oi Heitor,

O exemplo que passou é o arquivo que salvará com as informações de data e
nome do arquivo?

Se pensar um pouco, acredito que não haverá arquivos com datas inferiores
ao que está salvo no arquivo (ou é possível ocorrer datas inferiores?).

Portanto, dá para inferir que uma alteração no arquivo em relação ao que
está salvo na lista indica a possibilidade de backup. Estou correto?

Vamos amadurecer a ideia para chegarmos a um script bacana.


Abcs.
Braga
Post by 'Andre Lopes da Silva' ***@ime.usp.br [shell-script]
Olá
Desculpe, mas tem algum motivo específico pra não usar o find e checar os
tempos? Eu tenho um script aqui no trabalho pra limpar velharias dos
usuários que checa por exemplo a quanto tempo um arquivo está abandonado
na lixeira e para casos de arquivos mais tempo que X dias ele manda o
arquivo pro espaço... Fiquei curioso com a razão de não poder usar o
find...
Dito isso, essa idéia de salvar um arquivo com informações de data e
horário dos arquivos me parece com o que o DAR consegue fazer -
http://dar.linux.free.fr - É uma ferramenta que, entre outras
funcionalidades, consegue comparar arquivos com um arquivo de texto do
último backup por exemplo, talvez o código dele ou alguém do projeto
consiga te ajudar.
Post by ***@bacula.com.br [shell-script]
Olá, Pessoal,
Espero que todos estejam bem!
Estou tentando fazer um script para chamar pelo Bacula e fazer backup
dos arquivos do cluster Hadoop (HDFS). A cada backup pretendo salvar a
data e horário em um arquivo, e depois filtrar os arquivos modificados
após essa data e horário para fins de backup diferencial.
Não é possível usar o find do shell para usar o -newer.
==================================================
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:54 /a
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:54 /b
drwxr-xr-x - root supergroup 0 2017-08-05 23:55 /teste
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:55 /d
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:55 /teste/e
==================================================
Alguma ideia?
Abraços,
============================================================
===============
Post by ***@bacula.com.br [shell-script]
Heitor Medrado de Faria | CEO Bacula do Brasil | Visto EB-1 | LPIC-III |
EMC 05-001 | ITIL-F
• Não seja tarifado pelo tamanho dos seus backups, conheça o Bacula
Enterprise: http://www.bacula.com.br/enterprise/
http://www.bacula.com.br/enterprise/
http://www.bacula.com.br/in-company/ http://www.bacula.com.br/in-
company/
Post by ***@bacula.com.br [shell-script]
+55 61 98268-4220 <(61)%2098268-4220> | www.bacula.com.br
http://www.bacula.com.br/
Post by ***@bacula.com.br [shell-script]
============================================================
================
Post by ***@bacula.com.br [shell-script]
• Shell básico e Programação em Shell http://www.livrate.com.br/ com
Julio Neves.
• Zabbix http://www.spinola.net.br/blog com Adail Host.
============================================================
================
--
--
Andre Lopes da Silva
Técnico em Informática
SI - IME-USP
3091-9891
Sala 120-A
--
*Marcos Braga*
*DBA Oracle*
OCP 12c, 11g and 10g
OCE RAC and Linux

ºvº Free Software isn't free
/(_)\ is *Freedom*
^ ^
heitor@bacula.com.br [shell-script]
2017-08-08 13:21:45 UTC
Permalink
Post by 'Andre Lopes da Silva' ***@ime.usp.br [shell-script]
Olá
Olá, André?
Post by 'Andre Lopes da Silva' ***@ime.usp.br [shell-script]
Desculpe, mas tem algum motivo específico pra não usar o find e checar os
tempos?


Sim. O HDFS só pode ser montado via NFS ou FUSE, protocolos com limitação para o backup. Portanto, nativamente, não é possível usar o find do shell para buscar dentro de seus conteúdos se algum desses protocolos de montagem (já que pretendo não usar NFS ou FUSE). Ele tem até um find dentro do hadoop (através do dfs), mas ele é bastante limitado.


Abraços,
Post by 'Andre Lopes da Silva' ***@ime.usp.br [shell-script]
Olá, Pessoal,
Espero que todos estejam bem!
Estou tentando fazer um script para chamar pelo Bacula e fazer backup
dos arquivos do cluster Hadoop (HDFS). A cada backup pretendo salvar a
data e horário em um arquivo, e depois filtrar os arquivos modificados
após essa data e horário para fins de backup diferencial.
Não é possível usar o find do shell para usar o -newer.
==================================================
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:54 /a
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:54 /b
drwxr-xr-x - root supergroup 0 2017-08-05 23:55 /teste
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:55 /d
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:55 /teste/e
==================================================
Alguma ideia?
Abraços,
===========================================================================
Heitor Medrado de Faria | CEO Bacula do Brasil | Visto EB-1 | LPIC-III |
EMC 05-001 | ITIL-F
• Não seja tarifado pelo tamanho dos seus backups, conheça o Bacula
Enterprise: http://www.bacula.com.br/enterprise/ http://www.bacula.com.br/enterprise/
http://www.bacula.com.br/enterprise/ http://www.bacula.com.br/enterprise/
http://www.bacula.com.br/in-company/ http://www.bacula.com.br/in-company/ http://www.bacula.com.br/in-company/ http://www.bacula.com.br/in-company/
+55 61 98268-4220 | www.bacula.com.br http://www.bacula.com.br/ http://www.bacula.com.br/
============================================================================
• Shell básico e Programação em Shell http://www.livrate.com.br/ http://www.livrate.com.br/ com
Julio Neves.
• Zabbix http://www.spinola.net.br/blog http://www.spinola.net.br/blog com Adail Host.
============================================================================
--
--
Andre Lopes da Silva
Técnico em Informática
SI - IME-USP
3091-9891
Sala 120-A

Enviado através do OperaMail @ OpenSUSE LEAP 42.3
'Julio C. Neves' julio.neves@gmail.com [shell-script]
2017-08-08 13:49:36 UTC
Permalink
Mas Heitor, o find é formado por parâmetros de seleção, que escolhem os
arquivos que vc quer e ações, que dizem o que fazer com os arquivos
selecionados pelos parâmetros de seleção (a ação default do GNU find é
-print, mas no UNIX find ela *tem* de ser especificada). Mas, já que existe
um find, mesmo que limitado, creio que compensa ver se ele não possui a
ação -printf, onde vc formata a saída.

Veja:

1- Data alteração -
$ find -printf '%TY-%Tm-%Td\t%p\n' | sort -n | head -5
1999-07-29 ./T2.GIF
2008-04-01 ./DOS.txt
2008-12-15 ./progress.sh
2008-12-20 ./dontagain.sh
2009-01-22 ./conta1.sh

2- Data criação -
$ find -printf '%CY-%Cm-%Cd\t%p\n' | sort -n | head -5
2017-06-13 ./1
2017-06-13 ./2048
2017-06-13 ./2048/bash2048.sh
2017-06-13 ./2048/LICENSE
2017-06-13 ./2048/README.md

3- Data último acesso -
$ find -printf '%AY-%Am-%Ad\t%p\n' | sort -n | head -5
2017-07-12 ./2048/bash2048.sh
2017-07-12 ./2048/LICENSE
2017-07-12 ./2048/README.md
2017-07-12 ./.a1.swp
2017-07-12 ./.anda.sh.swp

E aí é mole, né?...

Em Agosto darei um treinamento de 40 horas no RJ e em BSB sobre
Programação em Shell, com imersão em Expressões Regulares e dicas
de YAD. Para mais detalhes acesse goo.gl/JkWmBx
Em Dezembro um curso com este mesmo conteúdo/carga horária será
lecionado em SP. Maiores detalhes neste site.
<https://www.4linux.com.br/curso/programacao-em-shell-script>

Abcs,
Julio

*Damos treinamento em sua empresa por **um preço, *
*no mínimo, 50% mais barato que qualquer curso,*
*com certificado e nota fiscal.*

​​
Nosso time de instrutores *in company* é formado somente por
​
​
autores
​ ​
​
de
*Best Sellers​ ​*​laureados ​sobre os temas. P. exemplo:

Shell básico e Programação em Shell Julio Neves
Bacula Heitor Medrado
Zabbix Adail Host
Produção Gráfica e Videografismo Cadunico
Post by ***@bacula.com.br [shell-script]
Post by 'Andre Lopes da Silva' ***@ime.usp.br [shell-script]
Olá
Olá, André?
Post by 'Andre Lopes da Silva' ***@ime.usp.br [shell-script]
Desculpe, mas tem algum motivo específico pra não usar o find e checar
os
tempos?
Sim. O HDFS só pode ser montado via NFS ou FUSE, protocolos com limitação
para o backup. Portanto, nativamente, não é possível usar o find do shell
para buscar dentro de seus conteúdos se algum desses protocolos de montagem
(já que pretendo não usar NFS ou FUSE). Ele tem até um find dentro do
hadoop (através do dfs), mas ele é bastante limitado.
Abraços,
Post by 'Andre Lopes da Silva' ***@ime.usp.br [shell-script]
Olá, Pessoal,
Espero que todos estejam bem!
Estou tentando fazer um script para chamar pelo Bacula e fazer backup
dos arquivos do cluster Hadoop (HDFS). A cada backup pretendo salvar a
data e horário em um arquivo, e depois filtrar os arquivos modificados
após essa data e horário para fins de backup diferencial.
Não é possível usar o find do shell para usar o -newer.
==================================================
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:54 /a
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:54 /b
drwxr-xr-x - root supergroup 0 2017-08-05 23:55 /teste
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:55 /d
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:55 /teste/e
==================================================
Alguma ideia?
Abraços,
============================================================
===============
Post by 'Andre Lopes da Silva' ***@ime.usp.br [shell-script]
Heitor Medrado de Faria | CEO Bacula do Brasil | Visto EB-1 | LPIC-III |
EMC 05-001 | ITIL-F
• Não seja tarifado pelo tamanho dos seus backups, conheça o Bacula
Enterprise: http://www.bacula.com.br/enterprise/
http://www.bacula.com.br/enterprise/
http://www.bacula.com.br/in-company/ http://www.bacula.com.br/in-
company/
Post by 'Andre Lopes da Silva' ***@ime.usp.br [shell-script]
+55 61 98268-4220 <(61)%2098268-4220> | www.bacula.com.br
http://www.bacula.com.br/
Post by 'Andre Lopes da Silva' ***@ime.usp.br [shell-script]
============================================================
================
Post by 'Andre Lopes da Silva' ***@ime.usp.br [shell-script]
• Shell básico e Programação em Shell http://www.livrate.com.br/ com
Julio Neves.
• Zabbix http://www.spinola.net.br/blog com Adail Host.
============================================================
================
--
--
Andre Lopes da Silva
Técnico em Informática
SI - IME-USP
3091-9891
Sala 120-A
'Julio C. Neves' julio.neves@gmail.com [shell-script]
2017-08-08 12:32:31 UTC
Permalink
Se vc quer os arquivos após $Data, faça:
# /etc/hadoop/bin/hdfs dfs -ls -R / | sort -k6,7 | sed "1,/$Data/ d"

$ Num=10; seq 2 2 20 | sed "1,/$Num/ d"
12
14
16
18
20

Se for ao contrário, isto é, só te interessa os caras até $Data,
*inclusive* então:
# /etc/hadoop/bin/hdfs dfs -ls -R / | sort -k6,7 | sed "/$Data/,$ d"

$ Num=10; seq 2 2 20 | sed "/$Num/,$ d"
2
4
6
8

Se só te interessa os caras até $Data, *exclusive* então:
# /etc/hadoop/bin/hdfs dfs -ls -R / | sort -k6,7 | sed "/$Data/ q"

$ Num=10; seq 2 2 20 | sed "/$Num/ q"
2
4
6
8
10

Pela amostra densa que vc mandou, estou pressupondo que $Data exista no
arquivo

Em Agosto darei um treinamento de 40 horas no RJ e em BSB sobre
Programação em Shell, com imersão em Expressões Regulares e dicas
de YAD. Para mais detalhes acesse goo.gl/JkWmBx
Em Dezembro um curso com este mesmo conteúdo/carga horária será
lecionado em SP. Maiores detalhes neste site.
<https://www.4linux.com.br/curso/programacao-em-shell-script>

Abcs,
Julio

*Damos treinamento em sua empresa por **um preço, *
*no mínimo, 50% mais barato que qualquer curso,*
*com certificado e nota fiscal.*

​​
Nosso time de instrutores *in company* é formado somente por
​
​
autores
​ ​
​
de
*Best Sellers​ ​*​laureados ​sobre os temas. P. exemplo:

Shell básico e Programação em Shell Julio Neves
Bacula Heitor Medrado
Zabbix Adail Host
Produção Gráfica e Videografismo Cadunico
Post by ***@bacula.com.br [shell-script]
Olá, Pessoal,
Espero que todos estejam bem!
Estou tentando fazer um script para chamar pelo Bacula e fazer backup dos
arquivos do cluster Hadoop (HDFS). A cada backup pretendo salvar a data e
horário em um arquivo, e depois filtrar os arquivos modificados após essa
data e horário para fins de backup diferencial.
Não é possível usar o find do shell para usar o -newer.
==================================================
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:54 /a
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:54 /b
drwxr-xr-x - root supergroup 0 2017-08-05 23:55 /teste
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:55 /d
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:55 /teste/e
==================================================
Alguma ideia?
Abraços,
============================================================
===============
Heitor Medrado de Faria | CEO Bacula do Brasil | Visto EB-1 | LPIC-III |
EMC 05-001 | ITIL-F
• Não seja tarifado pelo tamanho dos seus backups, conheça o Bacula
Enterprise: http://www.bacula.com.br/enterprise/
http://www.bacula.com.br/in-company/
+55 61 98268-4220 <(61)%2098268-4220> | www.bacula.com.br
============================================================
================
• Shell básico e Programação em Shell <http://www.livrate.com.br/> com
Julio Neves.
• Zabbix <http://www.spinola.net.br/blog> com Adail Host.
============================================================
================
heitor@bacula.com.br [shell-script]
2017-08-08 22:45:30 UTC
Permalink
Olá, Julio e demais colegas,

Obrigado pelo retorno. Do jeito que você sugeriu não consegui retorno.
Um colega deu a ideia de utilizar o awk. Tentei fazer da seguinte maneira:


========================================================================
/etc/hadoop/bin/hdfs dfs -ls -R / | awk '$6>"2017-08-04" && $7>"23:54" {print $6 " " $7 " " $8}'

========================================================================


Lembrando que o hdfs dfs -ls -R / resulta em:
========================================================================
[***@hadoop2 teste]# /etc/hadoop/bin/hdfs dfs -ls -R /
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:54 /a
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:54 /b
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:55 /d
drwxr-xr-x - root supergroup 0 2017-08-05 23:55 /teste
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:55 /teste/e
========================================================================


Estou com dois problemas no momento:


1. A comparação com a hora só deferia trazer resultados caso houvessem arquivos em data anterior.
2. Não consegui substituir a data e hora do exemplo por variáveis.
3. Acho que talvez seja necessário tirar os hífens da data e os dois pontos da hora para a comparação, mas não tenho certeza. É?


Abraços,
'Julio C. Neves' julio.neves@gmail.com [shell-script]
2017-08-09 14:47:03 UTC
Permalink
Heitor,
vamos explicar direitinho, senão o simples complica:

A saída do teu cmd é:
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:54 /a
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:54 /b
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:55 /d
drwxr-xr-x - root supergroup 0 2017-08-05 23:55 /teste
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:55 /teste/e

A partir deste ponto estaremos no Shell, então respondendo:

1 - O que vc quis dizer com "A comparação com a hora só deferia trazer
resultados caso houvessem arquivos em data anterior."?

Na sua linha de comandos vc pede data posterior (>) $6*>*"2017-08-04" e
isso está funcionando, repare que os arquivo gerados ás 23:54 *não* foram
listados e o cmd que vc postou:

awk '$6>"2017-08-04" && $7>"23:54" {print $6 " " $7 " " $8}'

está funcionando direitinho. A saída que vc quer não é isso?

2017-08-05 23:55 /d
2017-08-05 23:55 /teste
2017-08-05 23:55 /teste/e

2 - Vc disse: "Não consegui substituir a data e hora do exemplo por
variáveis". A qual data e hora vc se refere? Será que o que vc deseja seria
passar a data e hora como parâmetro?

3 - Acho que talvez seja necessário tirar os hífens da data e os dois
pontos da hora para a comparação, mas não tenho certeza. É?
Não, não é. Eu não sei o que é pq não entendi o teu item 2, mas os hífens
não fazem diferença na comparação.

Acho que se vc me ligar, podemos resolver mais rápido e depois vc posta na
lista.



Em Agosto darei um treinamento de 40 horas no RJ e em BSB sobre
Programação em Shell, com imersão em Expressões Regulares e dicas
de YAD. Para mais detalhes acesse goo.gl/JkWmBx
Em Dezembro um curso com este mesmo conteúdo/carga horária será
lecionado em SP. Maiores detalhes neste site.
<https://www.4linux.com.br/curso/programacao-em-shell-script>

Abcs,
Julio

*Damos treinamento em sua empresa por **um preço, *
*no mínimo, 50% mais barato que qualquer curso,*
*com certificado e nota fiscal.*

​​
Nosso time de instrutores *in company* é formado somente por
​
​
autores
​ ​
​
de
*Best Sellers​ ​*​laureados ​sobre os temas. P. exemplo:

Shell básico e Programação em Shell Julio Neves
Bacula Heitor Medrado
Zabbix Adail Host
Produção Gráfica e Videografismo Cadunico
Post by ***@bacula.com.br [shell-script]
Olá, Julio e demais colegas,
Obrigado pelo retorno. Do jeito que você sugeriu não consegui retorno.
========================================================================
/etc/hadoop/bin/hdfs dfs -ls -R / | awk '$6>"2017-08-04" && $7>"23:54"
{print $6 " " $7 " " $8}'
========================================================================
========================================================================
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:54 /a
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:54 /b
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:55 /d
drwxr-xr-x - root supergroup 0 2017-08-05 23:55 /teste
-rw-r--r-- 2 root supergroup 5 2017-08-05 23:55 /teste/e
========================================================================
1. A comparação com a hora só deferia trazer resultados caso houvessem
arquivos em data anterior.
2. Não consegui substituir a data e hora do exemplo por variáveis.
3. Acho que talvez seja necessário tirar os hífens da data e os dois
pontos da hora para a comparação, mas não tenho certeza. É?
Abraços,
heitor@bacula.com.br [shell-script]
2017-08-09 23:49:17 UTC
Permalink
Olá, Julio,

Muito obrigado pela consultoria! =)
Os dois e comerciais (&&) do awk são AND, portanto não servia ao que eu queria que eram apenas os arquivos modificados após determinada data e hora. Utilizando o AND as duas condições (data > e hora >) seriam consideradas independentemente.
O bacalho que eu fiz, testei e deu certo, foi esse:


============================================================================
/etc/hadoop/bin/hdfs dfs -ls -R / | awk -v date="$Date" '$6>=date {print $7 " " $8}' | awk -v hour="$Hour" '$1>=hour {print $2}'

============================================================================


Ele retorna apenas os nomes dos arquivos alterados determinada data e horário, filtrando primeiramente pela data, depois pela hora. Retorna apenas a lista com nome dos arquivos, que é o que eu preciso.
Agora eu talvez tenha problema com arquivos com espaços no nome ($8 e depois $2).


PS: imagino que com certeza tem maneira mais elegante de fazer (ex.: um awk só).


Abraços,
heitor@bacula.com.br [shell-script]
2017-08-09 23:52:36 UTC
Permalink
Em tempo: está resolvido. HDFS não suporta espaços nos caminhos para arquivos.
Loading...