Kopírování pouze nových souborů do S3 ze skriptu

Kopírování pouze nových souborů do S3 ze skriptu
« kdy: 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, jenze tady mi to nejde.

aws s3 sync 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 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.

Kód: [Vybrat]
#!/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.

Napada nekoho, jak skript upravit, pripadne jaky nastroj pouzit, aby se do S3 prenesly pouze soubory, ktere jsou lokalne a v S3 ne?

« Poslední změna: 19. 01. 2018, 18:48:56 od Petr Krčmář »
"Kdo v zájmu bezpečí obětuje část své svobody, v konečném důsledku přijde o svobodu i svou bezpečnost."


JardaH

Re:Kopirovani pouze novych souboru do S3 ze skriptu
« Odpověď #1 kdy: 19. 01. 2018, 18:21:54 »
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.


Ondrej

Re:Kopirovani pouze novych souboru do S3 ze skriptu
« Odpověď #2 kdy: 19. 01. 2018, 18:35:29 »
asi hledáš https://rclone.org/

Cronin

Re:Kopírování pouze nových souborů do S3 ze skriptu
« Odpověď #3 kdy: 19. 01. 2018, 20:37:08 »
s3 sync LocalPaht s3Bucket

samozrejme synchronizuje iba jednym smerom, smerom na server. Ak by si chcel synchronizovat zo servera k sebe, treba vymenit cesty.