Puncte:0

Executați următorii pași după ce rsync este terminat

drapel id

Mai întâi m-am gândit la asta rsync nu sincronizează tot ce este descris aici Limitările rsync? Nu se sincronizează totul

Acum, după o zi, am aflat că de fapt încă funcționează/ rulează și acum toate fișierele sunt acolo. Problema este: zip-ul meu este în loc de 1 GB, doar 200 MB.

Pentru că fermoarul a fost creat m-am gândit rsync este „terminat” și pur și simplu nu descarcă totul. Logica mea a fost: tar este executat doar când rsync e terminat. Dar după cum se pare că nu este cazul.

Cum pot face gudron așteptați până când rsync este complet terminat? Deci nu ajung cu o arhivă care nu este completă?

Acesta este codul meu:

USER="numele meu de utilizator"
SERVER="serveripul meu"
PORT="22"
SOURCE="magazin"
TARGET="/volume1/BACKUPS/MyFolder/MySubfolder/data/"
LOG="/volume1/BACKUPS/MyFolder/MySubfolder/backup_data.log"

mkdir /volume1/BACKUPS/MyFolder/MySubfolder/

rsync -avz --progress -e "ssh -p $PORT" $USER@$SERVER:$SOURCE $TARGET --delete >> $LOG 2>&1
tar -zcvf /volume1/BACKUPS/MyFolder/archivename-$(data +%Y-%m-%d_%H_%M_%S).tar.gz -C /volume1/BACKUPS/MyFolder/MySubfolder/ .

Aceasta este poate o a doua întrebare, dar legată cumva de „faceți ceva doar când primul lucru este terminat”.Cum pot detecta că arhiva este și „terminată”? Deci nu ajung să deschid/despachetez o arhivă care încă este procesată? Ceva de genul redenumiți fișierul după ce arhivarea este de fapt terminată. Cum pot să mă asigur că această redenumire nu începe doar la un moment dat și nu aștept până când linia de dinainte este de fapt gata, cum ar fi rsync?

Puncte:0
drapel br

Nu văd de ce ar trebui să ruleze asincron, atâta timp cât nu există ampersand și în scriptul original la sfârșitul rândului. Executați asta ca un job cron? Dacă da, frecvența de execuție este poate prea mare?

Jurnalele de la rsync ar trebui de fapt să ajute aici, cel puțin pentru a vedea dacă se termină cu adevărat. Le-ai verificat?

În afară de asta, există mai multe modalități de a face aceste execuții mai controlate, cum ar fi „fa asta dacă ultima a avut succes”. Cel mai simplu ar fi

rsync -abc --exwhyzed xxx && tar -abc xxx

notați și dublu ampersand de mai sus. Ultima comandă este apoi executată numai dacă prima s-a finalizat cu succes.

O modalitate mai descriptivă ar fi dacă declarații. Ca

if rsync -abc --exwhyzed xxx ; atunci
    tar -abc xxx
fi

De asemenea, de ce folosești --progres opțiune în combinație cu steagul verbose? Când rulați nun-interactiv și vă conectați la un fișier, acest lucru nu mi se pare foarte util. Aceasta este însă doar o notă curioasă.

jona avatar
drapel id
Mulțumiri. O să mă uit la asta. Da, este un cronjob. Dar acest lucru s-a întâmplat la prima rulare inițială și de atunci nu l-am pornit din nou (sau cronjob-ul). Jurnalul este destul de spam din cauza tuturor procentajelor de stare. Dar nu există nimic în jurnal care să spună că s-a terminat. Doar pentru fișierele individuale. Și nu este nimic despre orice eroare. Ce înseamnă `xxx`? Sau acesta este un substituent?
loopend avatar
drapel br
Da, acestea sunt doar substituenți, la fel ca opțiunile inactiv. Este vorba doar de structură.
jona avatar
drapel id
Acestea sunt ultimele rânduri ale jurnalului `0 100% 0.00kB/s 0:00:00 (total: 58%) (xfer#47349, de verificat=1004/85942) trimis 1165678 octeți primiți 200646451 octeți 2028262,60 octeți/sec dimensiunea totală este 792975206 accelerația este de 3,93` Deci totalul a fost de 58% și astăzi (fără nicio modificare în jurnal sau eu să-l pornesc din nou) s-a terminat (a încărcat totul prin ftp și compară fișierele). Și da, `--progress` este destul de stupid, voi elimina asta pentru a face jurnalul mai clar și a rula o nouă rulare inițială

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.