GNU/Linux >> Znalost Linux >  >> Linux

Hledat uvnitř kbelíku S3 s protokoly?

Jak hledat řetězec uvnitř mnoha souborů .gz v podsložce bucket Amazon S3? Zkoušel jsem to připojit přes s3fs a zgrep, ale je to strašně pomalé. Používáte nějaké jiné metody?

Možná existuje nějaká služba Amazonu, kterou bych mohl použít k rychlému zgrepování?

Přijatá odpověď:

Zjistil jsem, že nejrychlejší způsob je nejprve je zkopírovat lokálně a poté provést místní zgrep:

aws s3 cp s3://bucket/containing/the/logs . --recursive

Tím se zkopíruje (cp ) všechny protokoly do vašeho aktuálního adresáře (. ) a zahrnout také všechny podsložky (--recursive ).

Poté místní zgrep :

zgrep "search words" *.gz

Nebo také rekurzivně prohledávat podadresáře:

find -name \*.gz -print0 | xargs -0 zgrep "STRING"

(Převzato z unix.stackexchange.com.)


Linux
  1. Otočte a archivujte protokoly pomocí příkazu logrotate systému Linux

  2. Ssh uvnitř Ssh selže s „stdin:Is Not A Tty“?

  3. Hledat soubory s Gui?

  1. Vyhledávejte v souborech systémových protokolů pomocí CSF

  2. Rychle vyhledejte soubory v Linuxu pomocí příkazu Locate

  3. Hledání více vzorů (slov) pomocí ack?

  1. Jak na to:Správa systémových protokolů pomocí Journalctl

  2. Jak prohledávat manuálové stránky Linuxu (např. pomocí grep)

  3. Průběžně sledujte kmeny s ocasem, který se občas otočí