msoliver
(usa Debian)
Enviado em 13/09/2021 - 15:56h
vanderteixeira escreveu:
Bom dia.
Tenho uma pasta onde são gerados arquivos de backup, preciso fazer um script para copiar dês pasta para outra somente o backup gerado no dia.
Estou com problema para comparar essas datas.
Fiz o seguinte.
Data='date '+%y_%m_%d''
Origem=/caminho
Destino=/caminho
Arquivo='ls -lrt $origem | grep .gz | tail -1
Cp $origem/$arquivo $destino
Isso funciona para copiar o último arquivo mas tenho q garantir que este arquivo só seja copiado se a data do arquivo for igual data corrente.
Porque tem dias que não é feito o backup, e não posso copiar o arquivo do dia anterior.
Use a var Data no grep,
e o ls com --time-style,
com MESMO FORMATO da var "data"
---------------------------------------------------------------
Exemplo:
Seguindo a sua lógica:
data=$(date +%F)
ls -lt --time-style '+%F' /$Origem/|grep -m1 "$data"
Ou:
Seguindo a minha lógica....
find $origem/ -iname "*.gz" -daystart -type f -mtime -1 -exec cp {} $Destino \;
______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando:
lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p',
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:
Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.
______________________________________________________________________