[:it]Linux – backup con tar[:]

[:it]

Janek Yerka

La cosa più importante per il mantenimento di un server è l’effettuazione dei backup.

Vi sono due tipi di backup:

  • incrementali
  • completi (full)

Il backup incrementale copia solo i file modificati.

Nella tabella seguente evidenzio i vantaggi e gli svantaggi

Tipo Backup Restore
incrementale veloce lento
full lento veloce

Il comando utilizzato per effettuare un backup è

tar

ecco i parametri che si devono conoscere, si possono combinare assieme come sempre nel mondo linux e per convenzione è meglio sempre farli precedere dal –

p effettua il backup mantenendo i privilegi
c crea un archivio in cui inserisce il backup
z comprime i dati con gzip
j comprime i dati con jzip
f scrive/legge l’archivio nel file di cui si fornisce il nome – attenzione che tale parametro deve essere l’ultimo dei parametri dati
v mostra i dati di cui si sta facendo il backup o restore
vv fornisce ulteriori dettagli (maggiori rispetto al comando precedente)
w ogni azione richiede la conferma
r aggiunge i file ad un archivio già creato sempre che questo non sia compresso
t mostra il contenuto di un archivio
x estrae i dati da un archivio
C si fornisce il percorso di dove dovrà essere effettuato il restore

Avvertenza: per poter dare i comandi successivi bisogna essere root

Ecco alcuni esempi:

BACKUP

Avvertenza: prima di effettuare il backup, creare la directory in cui verrà poi posto il backup

tar -pzcf /mnt/backup/home-backup-`date ‘+%d-%B-%Y’`.tar.gz /home/francesco

p–> copia i file mantenendo i permessi

z–> utilizzo gzip per comprimere i file

c –>crea un archivio che conterrà il backup

f –> utilizza il nome del file che segue per inserire i backup

`date ‘+%d-%B-%Y’` –> mi crea il nome del file prendendo la data del sistema il simbolo ` si crea con altgr e poi apice (normalmente sotto il ?)

tar.gz mi indica che è un file tar compresso con gz

LISTA CONTENUTO

Avvertenza: dare il comando nella directory in cui si trova il file

tar -ztf home-backup-28-ottobre-2018.tar.gz

z –> è un file di tipo gzip

t –> mostra il contenuto

f –> il file che segue ha quel nome specifico

RESTORE

Avvertenza: specificare bene dove effettuare il restore, se non viene specificato si rischia di fare il restore di tutti i file anche di quelli di cui non si vuole fare il restore

tar -xvpzf home-backup-28-ottobre-2018.tar.gz -C /mnt/restore

x –> effettuo il restore

v–> mi fornisce le informazioni di cosa sta facendo

p–> mi ricrea i permessi

z –> file creato con gzip

f–> nome del file che segue

-C /mnt/restore –> mi effettua il restore nella cartella restore[:]

Pubblicato in Senza categoria | Lascia un commento

[:it]Linux – Debian Stretch – Installazione ifconfig[:]

[:it]

Janek Yerka

Appena terminata l’installazione di Debian stretch potrebbe esserci l’esigenza di conoscere il nome delle schede di rete o l’eventuale configurazione di rete.

Il comando, normalmente è

ifconfig

ma dà la seguente risposta:

# ifconfig
-bash: ifconfig: command not found

 

esso è all’interno del pacchetto net-tools

E’ sufficiente dare il seguente comando:

apt-get install net-tools

ed il problema si risolve[:]

Pubblicato in Senza categoria | Lascia un commento

[:it]GPOI – CPM – Prova di maturità Tema B – 2017/2018[:]

[:it]1. Dato il seguente grafo (CPM), che schematizza il flusso di quattro attività, fornire per ciascuna di esse la data d’inizio al più presto (ES- Early Start), la data di fine al più presto (EF – Early Finish), la data d’inizio al più tardi (LS – Late Start), la data di fine al più tardi (LF – Late Finish) e lo slittamento tra la data di fine al più tardi e la data di fine al più presto (TF- Total Float), evidenziando il percorso critico. Indicare sul grafo le date richieste ed evidenziare il percorso critico.

 

[:]

Pubblicato in Senza categoria | Lascia un commento

[:it]GPOI – CPM – Prova di maturità Tema A – 2017/2018[:]

[:it]

  1. Dato il seguente grafo (CPM), che schematizza il flusso di quattro attività, fornire per ciascuna di esse la data d’inizio al più presto (ES- Early Start), la data di fine al più presto (EF – Early Finish), la data d’inizio al più tardi (LS – Late Start), la data di fine al più tardi  (LF – Late Finish) e lo slittamento tra la data di fine al più tardi e la data di fine al più presto (TF- Total Float), evidenziando il percorso critico. Indicare sul grafo le date richieste ed evidenziare il percorso critico.

[:]

Pubblicato in Senza categoria | Lascia un commento

[:it]GPOI – CPM – Esempio dato alla simulazione dell’esame di maturità 17/18 Tema A[:]

[:it]1. Dato il seguente grafo (CPM), che schematizza il flusso di quattro attività, fornire per ciascuna di esse la data d’inizio al più presto (ES), la data d’inizio al più tardi (EF), la data di fine al più presto (LS), la data di fine al più tardi (LF) e lo slittamento tra la data di fine al più tardi e la data di fine al più presto (TF), evidenziando il percorso critico. Indicare sul grafo le date richieste.

[:]

Pubblicato in Senza categoria | Lascia un commento

[:it]GPOI – CPM – Esempio dato alla simulazione della prova dell’esame maturità 2017/18 Tema B[:]

[:it]1. Dato il seguente grafo, che schematizza il flusso di quattro attività, fornire per ciascuna di esse la data d’inizio al più presto (ES), la data d’inizio al più tardi (EF), la data di fine al più presto (LS), la data di fine al più tardi (LF) e lo slittamento tra la data di fine al più tardi e la data di fine al più presto (TF), evidenziando il percorso critico.

 

[:]

Pubblicato in Senza categoria | Lascia un commento

[:it]VE Informatica e Telecomunicazioni 2018/2019[:]

[:it]

Tintoretto, autoritratto, 1548 circa

  1. AD
  2. CN
  3. CS
  4. JH
  5. KH
  6. MH
  7. ML
  8. MP
  9. SB
  10. VD
  11. ZD
  12. ZM

[:]

Pubblicato in Senza categoria | Lascia un commento

[:it]C++ Verifica [:]

[:it]

pierre marcel

Il nome del programma dovrà essere:

CognomeNomeTemax.cpp

x assumerà il valore 1 o 2 a seconda del tema assegnato.

TEMA 1

Si deve calcolare l’importo della fattura telefonica.

Le tariffe sono le seguenti:

  • i primi 30 minuti si pagano  0.35€/min.
  • dai 30 ai 100 minuti si paga 0.25€/min
  • oltre i 100 minuti si pagano 0.15€/min.

Ad esempio se ho consumato 70 minuti, i primi 30 li pago 0.35€/min i rimanenti, ossia 40, li pago 0.25€/min.

L’unico dato che si richiede è i minuti.

TEMA 2

In un posteggio si deve calcolare l’importo.

Esso segue le seguente regole:

  • le prime tre ore si pagano 2.50€
  • dalla terza alla 6 ora si paga 1.50€
  • dalla 6 ora in poi si paga 1€ all’ora.

Ad esempio se rimango 5 ore, le prime tre ore le pago 2.50, le altre 2 le pago 1.50.

L’unico dato che si richiede è il numero di ore in cui si rimane al parcheggio.

SCHEDA DI VALUTAZIONE

Descrittore Punteggio
sintassi corretta del linguaggio 4
intestazione del programma con il proprio nome e nome del programma corretto 0.5
algoritmo corretto 3
gestione dei tipi di dato corretto 0.5
esecuzione del programma 1.5
commenti 0.5

 

 

 [:]

Pubblicato in Senza categoria | Lascia un commento

[:it]Linux: aggiornamento repository da CD-ROM [:]

[:it]

Claude Monet

Con il comando

apt-cdrom add

aggiunge un cd/dvd alle fonti a cui è possibile prelevare i pacchetti

Se vi sono più Cd/DVD è possibile ripetere l’operazione per ciascuno di essi.[:]

Pubblicato in Senza categoria | Lascia un commento

[:it]C++: liste concatente con puntatori[:]

[:it]

Giorgio De Chirico

DEFINIZIONE DI LISTA CONCATENATA

• Consideriamo una nuova modalità di memorizzare i dati in cui l’accesso non avviene più tramite un indice, che individua la posizione del dato nella struttura, ma tramite un indirizzo di memoria.

• Per costruire una sequenza di informazioni è necessario che ogni dato della struttura memorizzi l’indirizzo di memoria dell’elemento successivo.

• Si costruisce pertanto una struttura di dati collegata, chiamata lista concatenata.

Un elemento, o nodo, di una lista concatenata oltre all’informazione memorizza anche il riferimento dell’elemento successivo: per rappresentare il nodo, abbiamo bisogno di un record con due (o più) campi di tipo diverso:

dato: info

riferimento: succ

NODO

• Il nodo sarà composto da :

• l’informazione: un elemento di tipo base o un record o un array, …

• il riferimento sarà un riferimento ad un nodo: un riferimento ad un elemento dello stesso tipo del nodo.

DIFFERENZA RISPETTO UN ARRAY

• Le informazioni memorizzate non sono più necessariamente contigue in memoria, come nell’array

La lista concatenata non ha una dimensione stabilita a priori; dobbiamo però individuarne la fine, vale a dire un valore per il riferimento con il quale non si acceda ad alcun nodo.

• Tale valore nel C++ è NULL

 

Sintassi della definizione della lista:

Confronto molto sintetico tra utilizzo di un array o l’utilizzo di una list:

L’array richiede “spostamento” di dati (O(n)) nel caso di inserimento e cancellazione, che per la lista sono O(1);

  • possiede invece accesso diretto, che è O(1), mentre la lista accesso sequenziale, che è O(n).

Meglio:

per un’alta movimentazione di dati conviene usare una lista per un’accesso puntuale meglio un vettore.

INSERIMENTO DI UN ELEMENTO IN UNA LISTA

p=new tipolista inizializzo il nodo
p->info=1; inserisco 1 nel campo info del nodo
p->succ=inizio; metto a null il campo puntatore essendo il primo della lista e per adesso non punta a nessun altro nodo
inizio=p; il puntatore inizio punta al primo nodo
fine=p; il puntatore fine punta all’ultimo nodo che in questo caso è anche il primo, serve per inserire un nodo alla coda della lista

 

INSERIMENTO DI UN NUOVO ELEMENTO ALL’INIZIO DELLA LISTA

questa volta il puntatore non è null ma memorizzerà l’indirizzo di memoria del nodo che era in testa che era memorizzato nel puntatore inizio.

Meglio: il puntatore inizio è fondamentale per tenere sempre in memoria l’indirizzo del nodo di partenza della lista.

I nodi sono collegati tra loro solo dalla memorizzazione dell’area di memoria che potrebbe essere anche non contigua!

INSERIMENTO DI UN NUOVO ELEMENTO IN CODA

 

da notare che per poter inserire in coda ad una lista si deve aver definito precedentemente un puntatore che punta sempre alla coda della lista.

PRIMA CONCLUSIONE

Si crea ogni volta un oggetto formato da un binomio: il dato ed un contenitore per l’indirizzo di memoria. Quest’ultimo assumerà sempre il valore null se è l’ultimo nodo altrimenti l’indirizzo di memoria del nodo successivo.

Sono isole separate che si collegano solo mediante degli indirizzi.

LETTURA DELLA LISTA

come si nota copio il puntatore che punta sempre al primo elemento (ha l’indirizzo di memoria del primo elemento) e poi per scorrerla copio sempre il contenuto dei singoli nodi.

Ecco il listato completo

 [:]

Pubblicato in Senza categoria | Lascia un commento