Fórum Root.cz
Hlavní témata => Server => Téma založeno: tuxmartin 19. 01. 2018, 17:11:58
-
Ahoj,
resim problem se zalohovanim fotek do S3.
Co potrebuju: do jednoho adresare na serveru obcas nakopiruju nove fotky, stare nemazu. Zaroven chci tento adresar kopirovat do Amazon S3 (z cronu). Ale pouze kopirovat nove fotky, to znamena jednosmerna synchronizace mujServer -> S3.
Nikdy nechci mazat fotky z S3, nebo z S3 stahovat na svuj server.
Naopak bych rad IAM uzivateli povolil jen pridavat nove soubory a stare nemazat (treba jako ochrana pred zasifrovanim disku ransomwarem).
Stale se mi nedari nijak jednoduse vyresit kopirovani.
Program typu duply/duplicity resi plne a rozdilove zalohy, to ja nechci.
Vetsinou na vse pouzivam awscli (https://aws.amazon.com/cli/), jenze tady mi to nejde.
aws s3 sync (https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html) synchronizuje oba lokalni adresar i s3 - tedy stahne soubory z s3, ktere nemam lokalne. To nechci (maly disk), i kdyz by to mozna vadilo nejmene.
aws s3 cp (https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html) kopiruje vsechny lokalni soubory do S3, ze uz treba 99% souboru v S3 je neresi. Proste je nahraje znova a prepise.
Napadlo me pouzit find a kopirovat jen nove soubory (ne starsi, nez 1 den). Jenze to taky nejde. Nove soubory nepridavam presne kazdy den, takze by mi mohli chybet. Pokud totiz nakopiruju do lokalniho adresare na serveru soubory se starsim datem vytvoreni, find je bude ignorovat.
#!/bin/bash
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export AWS_ACCESS_KEY_ID=AAAAAAAAAAAAAAAAAAAAAAA
export AWS_SECRET_ACCESS_KEY=BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
export AWS_DEFAULT_REGION=eu-west-1
time find /data/fotky -type f -mtime -1 -print0 | xargs -0 -I {} aws s3 cp "{}" "s3://mojefotky/fotky/" --storage-class STANDARD_IA
awscli to zda se opravdu neumi (https://forums.aws.amazon.com/thread.jspa?messageID=597025).
Napada nekoho, jak skript upravit, pripadne jaky nastroj pouzit, aby se do S3 prenesly pouze soubory, ktere jsou lokalne a v S3 ne?
-
Mě se to nechcre vymejšlet za tebe, ale pokud si vytvoříš soubor obsahují seznam lokálních souborů a těch na s3, pak tyhle dva soubory proženeš sort -u, tak to potlačí duplicitní položky a vypíše jen ty unikátní. V případě, že unikátní soubory mohou být jen na lokále tak tenhle výstup zkopíruješ na S3. Případně můžes ten výstup souborů ještě prohnat nějakým filtrem jako třeba si zjistit stáří souboru pomocí stat.
-
asi hledáš https://rclone.org/
-
s3 sync LocalPaht s3Bucket
samozrejme synchronizuje iba jednym smerom, smerom na server. Ak by si chcel synchronizovat zo servera k sebe, treba vymenit cesty.