* * * *

Privacy Policy

Blog italiano

Clicca qui se vuoi andare al blog italiano su Lazarus e il pascal.

Forum ufficiale

Se non siete riusciti a reperire l'informazione che cercavate nei nostri articoli o sul nostro forum vi consiglio di visitare il
Forum ufficiale di Lazarus in lingua inglese.

Lazarus 1.0

Trascinare un file nel programma
DB concetti fondamentali e ZeosLib
Recuperare codice HTML da pagina web
Mandare mail con Lazarus
Stabilire il sistema operativo
Esempio lista in pascal
File INI
Codice di attivazione
Realizzare programmi multilingua
Lavorare con le directory
Utilizzare Unità esterne
TTreeView
TTreeview e Menu
Generare controlli RUN-TIME
LazReport, PDF ed immagini
Intercettare tasti premuti
Ampliare Lazarus
Lazarus e la crittografia
System Tray con Lazarus
UIB: Unified Interbase
Il file: questo sconosciuto
Conferma di chiusura di un applicazione
Liste e puntatori
Overload di funzioni
Funzioni a parametri variabili
Proprietà
Conversione numerica
TImage su Form e Panel
Indy gestiore server FTP lato Client
PopUpMenu sotto Pulsante (TSpeedButton)
Direttiva $macro
Toolbar
Evidenziare voci TreeView
Visualizzare un file Html esterno
StatusBar - aggirare l'errore variabile duplicata
Da DataSource a Excel
Le permutazioni
Brute force
Indy 10 - Invio email con allegati
La gestione degli errori in Lazarus
Pascal Script
Linux + Zeos + Firebird
Dataset virtuale
Overload di operatori
Lavorare con file in formato JSON con Lazarus
Zeos ... dietro le quinte (prima parte)
Disporre le finestre in un blocco unico (come Delphi)
Aspetto retrò (Cmd Line)
Lazarus 1.0
Come interfacciare periferica twain
Ubuntu - aggiornare free pascal e lazarus
fpcup: installazioni parallele di lazarus e fpc
Free Pascal e Lazarus sul Raspberry Pi
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal.
Creare un server multithread
guida all'installazione di fpc trunk da subversion in linux gentoo
Indice
DB concetti fondamentali e connessioni standard
Advanced Record Syntax
DB concetti fondamentali e DBGrid
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText
Advanced Record Syntax: un esempio pratico
Superclasse form base per programmi gestionali (e non)
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form
Superclasse form base per programmi gestionali (e non) #4 - wait animation
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog
Installare lazarus su mac osx sierra
immagine docker per lavorare con lazarus e free pascal
TDD o Test-Driven Development
Benvenuto! Effettua l'accesso oppure registrati.
Novembre 25, 2024, 11:44:11 am

Inserisci il nome utente, la password e la durata della sessione.

26 Visitatori, 1 Utente
 

Autore Topic: [Risolto] gestire backup periodici con script bash o con Pascal?  (Letto 1192 volte)

petrusic

  • Hero Member
  • *****
  • Post: 629
  • Karma: +0/-0
[Risolto] gestire backup periodici con script bash o con Pascal?
« il: Novembre 16, 2023, 05:13:59 pm »
Ho dovuto interrompere il progetto su cui lavoro da tempo, per passatempo  ;)
perchè sto cercando di aggiungere un pc portatile nei miei usi quotidiani e ciò mi obbliga a cercare una soluzione pratica e comoda da sfruttare per avere la disponibilità dei miei dati sul vecchio e caro PC Desktop oppure sul pc portatile.

Per ottenere ciò ho deciso alla fine di trasferire il mio archivio dati effettivo su una unità a disco esterna e mantenere i backup su uno dei dischi interni del pc Desktop, da riversare a sua volta, diciamo con periodicità settimanale, su una partizione che ho aggiunto nel stesso disco esterno dove risiede l'archivio dati effettivo. (sembra un gioco di parole ma non lo è).

La doppia struttura di salvataggio dati può essere considerata esagerata, ma dato che "la prudenza non è mai troppa", così facendo mi sento più tranquillo.
E' un metodo che utilizzo ormai dal alcuni anni e mi ha permesso di non trovare mail il vuoto assoluto nella mia datiteca.

Ho sempre utilizzato due miei script che mando in esecuzione, quello quotidiano, giornalmente, l'altro periodico, quasi ogni settimana.

Nella nuova organizzazione che mi sono dato, ho già modificato lo script  giornaliero che legge la mdirctory con l'archivio dati effettivo e lo copia (cp) su una directory del disco interno del pc Desktop.

Ora dovrei realizzare lo stesso lavoro con uno script che legge la partizione di backup del disco interno del pc Desktop e lo riversa, questa volta , in formato tar gzip, nella prtizione del disco esterno, dedicata allo scopo.

Ebbene, da due giorni sono fermo per una segnalazione di errore fornita nell'esecuzione del comando expr, al momento della ricerca automatica dello UUID nel file fstab.

Visto che non riesco a superare l'ostacolo, sto pensando alla possibilità di scrivere i comandi bash necessari dentro un programma lazarus pascal.

Non occorrerebbe nemmeno un progetto grafico, ma di tipo testuale.

Ma non ho esperienza.  So che in Lazarus c'è la possibilità di creare un progetto senza disturbare la grafica, ma potrei arrivare a centrare il  mio obiettivo?
« Ultima modifica: Novembre 21, 2023, 09:34:32 am da petrusic »
ciao ciao

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2921
  • Karma: +20/-4
Re:gestire backup periodici con script bash o con Pascal?
« Risposta #1 il: Novembre 16, 2023, 05:26:42 pm »
si, si può fare
ma lanciare i comandi con Lazarus non ti risolverà il problema
nel senso che se il comandi bash ti danno errore, lo faranno anche da dentro Lazarus

credo che intanto devi risolvere il problema da bash, poi potrai fare un programma console se vuoi (ma quello lo vediamo dopo)

puoi mettere qua lo script che ti da errore?
Imagination is more important than knowledge (A.Einstein)

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1403
  • Karma: +44/-0
  • Prima ascoltare, poi decidere
Re:gestire backup periodici con script bash o con Pascal?
« Risposta #2 il: Novembre 16, 2023, 06:38:46 pm »
Ciao, non ti posso aiutare con il problema che hai, ma a riguardo di ciò che hai organizzato con il backup vorrei darti due consigli:

1) Ciò che contiene il backup non è consigliato sia in linea, e teoricamente nemmeno nelle vicinanze  del sorgente da cui effettuerai il backup.

Queste due sono regole fondamentali e che dovrebbero essere seguite alla lettera. Il motivo è che un backup sempre in linea è soggetto alle stesse problematiche del di un disco fisso di un PC. Sbalzi di tensione, problemi di software o altro possono danneggiarlo esattamente come fosse un disco in linea (come lo è secondo quanto hai descritto). Quindi ti consiglio di usare il dispositivo di backup (che per forza deve essere un dispositivo esterno ai PC) solo ed esclusivamente per le operazioni di backup e poi di "staccarlo" e porlo in ambiente sicuro.

Perchè non lasciarlo in prossimità dei PC (questa è una regola di chi fà i backup "professionali" tipo le aziende) ? Perchè ogni tanto accadono degli scherzi del destino che finiscono per distruggere sorgente e backup ... Un mio cliente proprio due giorni fà aveva in carica il PC portatile (tra l'altro relativamente nuovo) e usava proprio un disco USB esterno che lasciava su una scaffalatura sopra il portatile.
Orbene il portatile ha preso "fuoco" per un difetto del pacco batterie, fortunatamente la scrivania è l'ambiente non hanno subito la stessa sorte ma sfiga galattica quello che era nello scaffale (aveva il disco, una telecamera e altre cose) sono rimaste danneggiate. Sia il disco interno del PC che quello di backup erano SSD, ora sono inservibili. Come però capita spesso è riuscito a recuperare gran parte grazie a vecchie copie su vecchi dischi (quelli di una volta HD magnetici) e altre copie che aveva sul PC al lavoro.

Forse un caso unico, però ....

2) Usa il metodo classico, ossia lascia la copia di lavoro sul PC di lavoro e magari fai una copia automatica in una ulteriore partizione ad ogni avvio ad esempio MA esegui il backup regolarmente SOLO su dispositivi esterni non in linea.

3) Questo è invece un mio consiglio dato dall'esperienza: non usare SSD per fare backup, gli SSD sono assolutamente inaffidabili. Quando si guasta un SSD è finita, non c'è alcun modo di recuperare  ciò che si è danneggiato e il danno avviene senza preavviso. Invece sui HD classici quando si danneggia qualche settore (a parte un danno meccanico dovuto ad esempio da caduta) in genere si riesce a recuperare e ci sono inoltre avvisaglie su ciò.

Gli SSD, per quanto siano strausati (nel senso che si usano quotidianamente in mille milioni di prodotti) e tecnologicamente ben progettati hanno una durata relativamente breve e le condizioni d'uso possono stravolgere la durata stessa: un dato scritto a una temperatura del dispositivo variabile può determinare la perdita dei dati dell'SSD (anche solo 5 gradi di differenza possono determinare grosse problematiche).

Non c'è nulla di oscuro, sono le norme JEDEC (JESD2xxx) a definire ciò, in particolare giusto per farvi un sunto:

1) Un dispositivo SSD domestico (definito Client-Class SSD dalle norme) ad una temperatura di 40 gradi di scrittura per 8 ore, mantiene i dati SOLO per UN ANNO e SOLO se la temperatura di stoccaggio è inferiore ai 30 gradi. Altrimenti i tempi si abbattono drasticamente. E con scrittura superiore ai 50 gradi dall'anno si passa ai giorni ....

2) Un dispositivo SSD professionale (definito Enterprise-Class SSD dalle norme) ad una temperatura di 55 gradi di scrittura per 8 ore, mantiene i dati SOLO per TRE MESI e SOLO se la temperatura di stoccaggio è inferiore ai 40 gradi.

Se monitorate la temperatura durante l'uso di un SSD, vedrete che nel giro di pochi minuti può passare tranquillamente a 45 gradi.

Io negli impianti cambio SSD in media ogni due anni, e quando vado a fare la copia / incolla più volte sono incappato in danneggiamenti.

Ciao
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

petrusic

  • Hero Member
  • *****
  • Post: 629
  • Karma: +0/-0
Re:gestire backup periodici con script bash o con Pascal?
« Risposta #3 il: Novembre 20, 2023, 07:33:43 pm »
credo che intanto devi risolvere il problema da bash, poi potrai fare un programma console se vuoi (ma quello lo vediamo dopo)
E' quello che ho fatto. Ho superato il problema in bash. Però, questo punto, visto che lo script funziona bene, ritengo che non abbia più senso andare a costruire un programma per eseguire gli stessi comandi.

Grazie.
ciao ciao

petrusic

  • Hero Member
  • *****
  • Post: 629
  • Karma: +0/-0
Re:gestire backup periodici con script bash o con Pascal?
« Risposta #4 il: Novembre 20, 2023, 07:56:08 pm »
. . . , ma a riguardo di ciò che hai organizzato con il backup vorrei darti due consigli:
. . .

Finalmente ho risolto con lo script ed il backup è tornato a funzionare.

Ti ringrazio per i consigli preziosi che mi hai dato. Già avevo, di mio, una certa titubanza ad usare i dischi SSD, ed ora il tuo approfondito ragionamento mi ha confermato quanto temevo.
Tuttavia pensavo che l'uso delle unità SSD mi avrebbe aiutato ad abbreviare i tempi di esecuzione, che, invece mi sembrano sempre lunghi.

Dopo le ultime modifiche organizzative, adesso la partizione coi dati ordinari risiede in una unità SSD, esterna che potrò collegare col pc fisso o col portatile, ormai in dirittura d'arrivo.
le partizioni coi bacjkup giornalieri risiedono ancora dentro il case del pc fisso, E' un disco HHD che dovrei andare a sistemare dentro una scatola di connessione USB.
L'unità che ho sempre usato per i backup settimanali, è stata comprata ormai diversi anni fa e non mi ricordo bene che cosa sia esattamente, ma dovrebbe essere un "disco SATA da 2,5""
 con connessione USB)

Inutile dirti che convengo con tutto quanto mi hai giustamente invitato a fare e, nel mio piccolo, farò tutto il possibile per non incontrare brutte sorprese di danneggiamenti improvvisi ed imprevedibili di qualsiasi tipo.
ciao ciao

 

Recenti

How To

Utenti
  • Utenti in totale: 803
  • Latest: maXim.FI
Stats
  • Post in totale: 19192
  • Topic in totale: 2289
  • Online Today: 54
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 1
Guests: 26
Total: 27

Disclaimer:

Questo blog non rappresenta una testata giornalistica poiché viene aggiornato senza alcuna periodicità. Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n. 62/2001.